Android开文件/生
问题描述:
与此下面的代码我试图访问其存储在asset/raw
文件夹文件,但我得到null
和Android开文件/生
E/ERR: file:/android_asset/raw/default_book.txt (No such file or directory)
错误,我的代码是:
private void implementingDefaultBook() {
String filePath = Uri.parse("file:///android_asset/raw/default_book.txt").toString();
File file = new File(filePath);
try {
FileInputStream stream = new FileInputStream(file);
} catch (Exception e) {
e.printStackTrace();
Log.e("ERR ", e.getMessage());
} catch (OutOfMemoryError e) {
e.printStackTrace();
}
}
答
相同的字符串将你的文本文件放在/ assets目录下呃Android项目并按如下方式使用AssetManager类来访问它。
AssetManager am = context.getAssets();
InputStream is = am.open("default_book.txt");
或者你也可以把文件中的/ RES/raw目录,从该文件可以通过ID就可以访问如下
InputStream is =
context.getResources().openRawResource(R.raw.default_book);
答
资产和资源开发机器上的文件。它们不是设备上的文件。
对于资产,请在AssetManager
上使用open()
以获得资产的InputStream
。
此外,FWIW:
Uri.parse("file:///android_asset/raw/default_book.txt").toString()
是没有意义的,因为它给你,你开始file:///android_asset/
仅适用于WebView
答
InputStream is = getAssets().open("default_book.txt");
我希望帮你。 Plz接受答案并加入它。谢谢 :) –