FileReader для текстового файла в Android - PullRequest
1 голос
/ 24 сентября 2011

Хорошие времена!

Мое приложение для Android пытается прочитать простой текстовый файл, используя обычную комбинацию Java

FileReader fr = new FileReader("file:///android_asset/example.txt");
BufferedReader bfr = new BufferedReader(fr);

Но что бы я ни делал, я получаю исключение Файл не найден, хотя в этом каталоге есть другой html-файл, который корректно отображается в WebView.
Итак, мой вопрос:
FileReader может быть использован для простого чтения текстового файла, или я должен использовать InputStream?

Ответы [ 3 ]

7 голосов
/ 24 сентября 2011

Вы должны выполнить InputStream следующим образом. Измените код следующим образом. Надеюсь, он будет работать:

FileInputStream fis = new FileInputStream("file:///android_asset/example.txt");
BufferedReader bfr = new BufferedReader(new InputStreamReader(fis));
7 голосов
/ 24 сентября 2011

Использовать getAssets() метод.

BufferedReader br=new BufferedReader(new 
            InputStreamReader(getAssets().open("example.txt")));
6 голосов
/ 30 января 2012

Android не знает , где ваши файлы находятся.Вы должны использовать их функции.См. Раздел хранилище данных , особенно раздел внутреннее хранилище и методы класса Context Android для открытия и записи в файлы.Например, вы можете использовать метод Context getFileStreamPath , чтобы получить объект Java-файла и передать его в Java FileReader.

File yourFile = getFileStreamPath(YOUR_FILENAME);
if (yourFile.exists()) {
    BufferedReader in = new BufferedReader(new FileReader(yourFile));
    ...
    in.close();
}

PS Вот очень похожий вопрос и ответ .

...