Android资产与子文件夹
InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");
我在资产文件夹中的一个子文件夹中的文件如上。它不会获取文件,是否有一种特殊的方式来指定资产文件夹中的子文件夹?Android资产与子文件夹
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();
你确定你有名字吗?
文档说,你可以。 – 2010-06-13 23:39:59
您的资产文件是否超过1 MB?
我注意到,如果我尝试打开超过此大小的资产,我会得到相同的奇数空IOException。它在子文件夹中的事实可能是一条红鲱鱼。我试图打开一个大的文本文件,所以我可以通过分割来解决这个限制。你能做类似于你的.db3文件吗?
omfg wtf !!!这是一个愚蠢的错误,他们应该解决这个问题。非常感谢你写这个答案,这对我来说也是一样的情况,我在“music/blah.ogg”下有一个.ogg文件,因为它已经超过1 MB而不工作,但另一个文件“music/foo.ogg“的作品,它只有26 kb ... – 2012-09-08 11:11:06
"MyFolder/" + "MyFile.db3"
添加到资产文件夹的文件的文件名必须使用小写字母。 因此,MyFolder和Myfile.db3等文件名无效。将它们重命名为“myfolder”和“myfile.db3”,那么一切都会好起来的。
看起来是正确的 - 是否有任何异常(如抛出IOException)? – 2010-06-13 21:20:14
是的,但奇怪的是,例外是空的,没有“原因” – 2010-06-13 22:13:16
如果你可以将堆栈跟踪粘贴到你原来的问题中,那会很有帮助。 – 2010-06-13 23:56:02