具有子文件夹的Android资产

时间:2010-06-13 21:02:36

标签: android assets

InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");

我在子文件夹的assets文件夹中有一个文件,如上所示。它没有获取文件,是否有一种特殊的方法来指定assets文件夹中的子文件夹?

伊恩

4 个答案:

答案 0 :(得分:40)

编辑:子文件夹错误。
此代码在1.5上工作正常(对于放置在sample.txtsub文件夹下的文件assets):

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();

你确定你的名字是对的吗?

答案 1 :(得分:7)

"MyFolder/" + "MyFile.db3"

添加到assets文件夹的文件的文件名必须为小写字母。 因此,MyFolder和Myfile.db3等文件名无效。将它们重命名为“myfolder”和“myfile.db3”,然后一切都会好的。

答案 2 :(得分:5)

您的资产档案是否超过1 MB?

我注意到,如果我尝试打开超过此大小的资产,我会得到相同的奇怪的空IOException。它在子文件夹中的事实可能是红鲱鱼。我正在尝试打开一个大文本文件,以便通过拆分来解决此限制。你能用你的.db3文件做些类似的事吗?

答案 3 :(得分:0)

我遇到了类似的问题:将子文件夹名称从“ mp3 ”更改为“ mpthree ”并找到了文件。