6

我正在尝试从 assets 文件夹中读取一个 txt 文件,如下所示:

descriptor = context.getAssets().openFd("openAccess.txt");
reader = new FileReader(descriptor.getFileDescriptor());

但我得到了这个例外:

java.io.FileNotFoundException:这个文件不能作为文件描述符打开;它可能被压缩了

我不知道是什么问题?

4

5 回答 5

3

这个怎么样:

InputStream in = context.getAssets().open("openAccess.txt");
reader = new InputStreamReader(in);
于 2012-04-13T13:20:37.003 回答
2

试试这个 :

AssetFileDescriptor descriptor = getAssets().openFd("openAccess.txt");
BufferedReader f = new BufferedReader(new FileReader(descriptor.getFileDescriptor()));
String line = f.readLine();
while (line != null) {
    // do stuff
    Log.d("TAG",line);
}
于 2012-04-13T13:36:32.010 回答
1

对我来说,它是在 /res 中创建一个“行”文件夹并在其中复制文件。然后你可以使用:

InputStreamReader iReader = new InputStreamReader(getResources().openRawResource(R.raw.text)));
于 2014-06-15T12:18:53.933 回答
0

像这样使用。文件路径。

context.getAssets().openFd("file:///android_asset/openAccess.txt");
于 2012-04-13T13:09:08.357 回答
0

您可以在 Asset 中创建新文件夹并将文件放在该文件夹中,然后尝试从该文件夹中获取该文件

于 2012-04-13T13:31:07.333 回答