1

做Android 2.1开发。谁能向我解释为什么以下代码会生成 IOException 并且不加载文件?这个确切的代码曾经可以工作,据我所知,它应该仍然可以工作。作为参考, Log.d() 命令正确列出了我期望的所有文件,并且这些文件被正确压缩到我的 .APK 文件中。

        AssetManager assetManager = mContext.getAssets();
        String[] files = null;
        try
            {
            files = assetManager.list("meshes");
            for (int i = 0; i < files.length; i++)
                Log.d(TAG, files[i]);
            InputStream is = assetManager.open(files[0]);
            }
        catch (IOException e) 
            {
            Log.e(TAG, "Could not load '" + e.getMessage()+ "'!");
            }

关于为什么现在会中断的任何想法?我试图读取的文件是很小的(几个字节)二进制文件。

4

2 回答 2

2

终于想通了。明目张胆的用户错误,但只见树木不见森林。list 命令不包括目录名, open 命令需要完整的路径名。Duh :) open 命令需要构建一个包含目录名和文件名的字符串。

于 2010-07-12T00:50:29.043 回答
1

也许你可以这样使用

    AssetManager assetManager = this.getAssets();
    try{
            InputStream is = assetManager.open("tes.png");

            Log.d("Success", "Read");
    }catch (IOException e){
            Log.e("Failed", "Could not load '" + e.getMessage()+ "'!");
    }
于 2012-02-19T15:09:38.400 回答