进行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()+ "'!");
}
关于为什么现在打破的任何想法?我试图读取的文件很小(几个字节)二进制文件。
答案 0 :(得分:2)
终于明白了。公然的用户错误,但无法看到森林的树木。 list命令不包含目录名,open命令需要完整的路径名。 Duh :) open命令需要构建一个包含目录名和文件名的字符串。
答案 1 :(得分: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()+ "'!");
}