3

美好时光!

我的 Android 应用程序正在尝试使用通常的 Java 组合读取简单的文本文件

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

但是无论我做什么,我都会收到 File not Found 异常,尽管此目录中有另一个 html 文件并正确显示在 WebView 中。
所以,我的问题是:
FileReader 可以用于简单读取文本文件还是我必须使用 InputStream ?

4

3 回答 3

8

你必须像下面这样输入流。像这样更改代码。我希望它会起作用:

FileInputStream fis = new FileInputStream("file:///android_asset/example.txt");
BufferedReader bfr = new BufferedReader(new InputStreamReader(fis));
于 2011-09-24T08:29:32.310 回答
7

使用getAssets()方法。

BufferedReader br=new BufferedReader(new 
            InputStreamReader(getAssets().open("example.txt")));
于 2011-09-24T08:28:32.673 回答
6

Android 不知道的文件所在的位置。你必须使用它们的功能。请参阅数据存储部分,尤其是内部存储部分以及Android Context 类中用于打开和写入文件的方法。例如,您可以使用 Context 方法getFileStreamPath来获取 Java File 对象并将其传递给 Java FileReader。

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

PS这是一个非常相似的问题答案

于 2012-01-30T06:26:59.173 回答