带有子文件夹的Android资源

问题描述 投票:24回答:4
InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");

我如上所述在子文件夹的资产文件夹中有一个文件。它没有获取文件,是否有一种特殊的方法可以在资产文件夹中指定子文件夹?

伊恩

android assets
4个回答
40
投票

编辑:关于子文件夹是错误的。这段代码在1.5上可以正常工作(对于sample.txt文件夹下sub文件夹中的文件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();

您确定名称正确吗?


7
投票
"MyFolder/" + "MyFile.db3"

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


6
投票

您的资产文件是否超过1 MB?

[我注意到,如果我尝试打开一个超过此大小的资产,则会得到相同的,空的IOException。它在子文件夹中的事实可能是红色鲱鱼。我正在尝试打开一个大文本文件,因此我可以通过拆分将其限制。您可以对.db3文件执行类似的操作吗?


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.