InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");
我在上面的子文件夹中的资产文件夹中有一个文件。但是它没有得到文件,有没有一种特殊的方法可以在资产文件夹中指定一个子文件夹?
伊恩
编辑:关于子文件夹是错误的。
此代码在 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();
你确定你的名字是对的吗?
"MyFolder/" + "MyFile.db3"
添加到资产文件夹的文件的文件名必须为小写字母。因此,MyFolder 和 Myfile.db3 等文件名无效。将它们重命名为“myfolder”和“myfile.db3”,然后一切都会好起来的。
您的资产文件是否超过 1 MB?
我注意到,如果我尝试打开超过此大小的资产,我会得到同样奇怪的空 IOException。它位于子文件夹中的事实可能是一个红鲱鱼。我正在尝试打开一个大文本文件,以便可以通过拆分来解决此限制。你能用你的 .db3 文件做类似的事情吗?
我有一个类似的问题:将子文件夹名称从“ mp3 ”更改为“ mpthree ”,找到了文件。