我正在尝试从Chrome插件应用中将一些Web UI / Javascript代码插入我的应用。
Javascript的部分功能是读取一些翻译文件(我不想改变它用来做太多的方法)
为此,我提供了Javascript,能够读取assets文件夹中的文件内容,以便通过使用Javascript接口方法进行解析,该方法接受文件名并将文件内容作为String返回。
不幸的是,这是抛出异常,其“消息”是我传入的文件名。因此我不知道为什么抛出此异常:
public String getFileContents(String file) {
String fileContents = "";
try {
AssetManager assetManager = mContext.getAssets();
InputStream inputStream = assetManager.open(file);
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line);
}
fileContents = total.toString();
} catch (IOException e) {
Log.e("IOException", e.getMessage());
Log.e(e);
}
return fileContents;
}
下面给出的例外情况......任何人都可以给我一个关于为什么这个文件没有被正确打开的线索?
04-11 10:22:12.233: E/Exception(4829): _locales/en/messages.json. android.content.res.AssetManager.openAsset(Native Method)
04-11 10:22:12.233: E/Exception(4829): android.content.res.AssetManager.open(AssetManager.java:316)
04-11 10:22:12.233: E/Exception(4829): android.content.res.AssetManager.open(AssetManager.java:290)
04-11 10:22:12.233: E/Exception(4829): com.test.decatur.object.CoreModInterface.getFileContents(CoreModInterface.java:51)
04-11 10:22:12.233: E/Exception(4829): com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
04-11 10:22:12.233: E/Exception(4829): com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
04-11 10:22:12.233: E/Exception(4829): android.os.Handler.dispatchMessage(Handler.java:102)
04-11 10:22:12.233: E/Exception(4829): android.os.Looper.loop(Looper.java:136)
04-11 10:22:12.233: E/Exception(4829): android.os.HandlerThread.run(HandlerThread.java:61)