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). Поэтому я оставлю это для вас для поиска.
Изменить: Вот документация