打开资产文件 - assetManager.open(file)抛出空异常?

时间:2014-04-11 09:57:22

标签: android webview android-assets

我正在尝试从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)

0 个答案:

没有答案