InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");
我在assets文件夹中有一个子文件夹内的文件,但它无法获取该文件。有没有特殊的方法来指定assets文件夹中的子文件夹?
Ian
InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");
我在assets文件夹中有一个子文件夹内的文件,但它无法获取该文件。有没有特殊的方法来指定assets文件夹中的子文件夹?
Ian
编辑:关于子文件夹的说法是错误的。
这段代码在1.5版本上完全正常(对于放置在assets
文件夹下的sub
文件夹中的sample.txt
文件):
InputStream is = getAssets().open("sub/sample.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = br.readLine()) != null) {
Log.e("wtf", line);
}
br.close();
您确定名字都正确吗?
"MyFolder/" + "MyFile.db3"
添加到资产文件夹的文件名必须为小写字母。 因此,像“ MyFolder”和“Myfile.db3”这样的文件名是无效的。将它们重命名为“ myfolder”和“ myfile.db3”,然后一切都会变好。
您的资产文件是否超过1MB?
我注意到,如果我尝试打开一个超过此大小的资产,我会收到相同的奇怪、空的IOException。它位于子文件夹中可能是一个误导。我正在尝试打开一个大型文本文件,以便通过分割来解决此限制。您能否对您的.db3文件进行类似的操作?
我遇到了类似的问题:将子文件夹名称从“mp3”更改为“mpthree”,然后就可以找到文件了。