Android: чтение из файла (Openfileinput)

Я пытаюсь написать базовое приложение "Блокнот" для школьного проекта.

Я создал основной класс с editText который я сохраняю как String textOutput.

Я использовал следующее, чтобы сохранить строку в файл:

FileOutputStream fos = openFileOutput(textOutput, Context.MODE_PRIVATE);
fos.write(textOutput.getBytes());
fos.close();

Тем не менее, ссылка для разработчиков Android гласит, что для чтения я должен использовать следующие шаги:

Чтобы прочитать файл из внутреннего хранилища:

  • Вызовите openFileInput() и передайте ему имя файла для чтения. Это возвращает FileInputStream.
  • Чтение байтов из файла с помощью read().
  • Затем закройте поток с помощью close().

Что это значит и как мне это реализовать?

Ответы

Ответ 1

Пример использования openFileInput:

    FileInputStream in = openFileInput("filename.txt");
    InputStreamReader inputStreamReader = new InputStreamReader(in);
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
    StringBuilder sb = new StringBuilder();
    String line;
    while ((line = bufferedReader.readLine()) != null) {
        sb.append(line);
    }

Ответ 2

Первый параметр - имя файла, который вы создаете/обновляете при использовании метода openFileOutput. Используя тот же параметр, который вы указали выше, он может выглядеть так:

FileInputStream fis = openFileInput(textOutput);

Что касается чтения из FileInputStream, который очень хорошо документирован здесь и в Интернете. Лучший способ сделать это также зависит от типа файла, который вы читаете (например, XML). Поэтому я оставлю это для вас для поиска.

Изменить: Вот документация