Android:getAssets()。openFd()和FileNotFoundException

问题描述 投票:5回答:5

我正在尝试从资产文件夹读取txt文件,例如:

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

但是我遇到了这个例外:

java.io.FileNotFoundException:该文件不能作为文件打开描述符它可能已压缩

我不知道是什么问题?

android android-assets
5个回答
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);
}

3
投票

怎么样:

InputStream in = context.getAssets().open("openAccess.txt");
reader = new InputStreamReader(in);

0
投票

像这样使用。文件路径。

context.getAssets().openFd("file:///android_asset/openAccess.txt");

0
投票

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


0
投票

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

InputStreamReader iReader = new InputStreamReader(getResources().openRawResource(R.raw.text)));
© www.soinside.com 2019 - 2024. All rights reserved.