我正在尝试在Java for Android中加载一些资源。这些资源是简单的文本文件,我需要阅读其中的内容。我在阅读和写入这些文件方面有相当多的经验,但现在有些东西正在破坏它。
这是我正在使用的代码。
FileInputStream fstream = new FileInputStream("file:///android_asset/Peacefulpack.mod");
所以当我运行它时,它应该在此目录中搜索Peacefulpack.mod
:file:///android_asset/Peacefulpack.mod
但是,当我查看控制台日志时,它告诉我Java正在寻找这个目录:file:///android_asset/Peacefulpack.mod
这给了我一个FileNotFoundException
。我怎么能摆脱它?
答案 0 :(得分:1)
在AssetManager中使用此方法public final InputStream open(String fileName)
请参阅:http://developer.android.com/reference/android/content/res/AssetManager.html#open(java.lang.String)
答案 1 :(得分:1)
我正在尝试用Java加载一些资源。
由于您希望使用存储在Android预定义目录中的数据,因此Android会提供直接指定用于您目标的方法。
首先查看提供以下方法的AssetManager
:
这很可能是您正在寻找的。方法返回存储在assets文件夹中的文件的InputStream
。
基本用法:
AssetManager am = this.getAssets(); // or YourActivity.this.getAssets()
try { // generally Context
InputStream is = am.open("yourFile.suffix");
}
catch (IOException e) {
Log.w("IOException", e.getMessage());
}
它应该可以解决你的问题。