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

我在上面的子文件夹中的资产文件夹中有一个文件。但是它没有得到文件,有没有一种特殊的方法可以在资产文件夹中指定一个子文件夹?

伊恩

4

4 回答 4

43

编辑:关于子文件夹是错误的。
此代码在 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();

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

于 2010-06-13T22:39:15.777 回答
7
"MyFolder/" + "MyFile.db3"

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

于 2012-02-21T11:57:38.780 回答
6

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

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

于 2011-08-08T03:37:57.477 回答
0

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

于 2020-05-04T21:07:42.877 回答