【发布时间】:2012-10-27 08:31:51
【问题描述】:
我的 Android 应用中的资产中有一个名为 Gate.IC 的文件。
我使用这段代码来测量资产中文件的长度:
private byte[] Buf = new byte[1024*512];
public int FileLength (String s)
{
int Count = 0;
try {
InputStream s2 = assetManager.open(s);
int tmp = 0;
while ((tmp=s2.read(Buf))>0)
Count+=tmp;
s2.close();
}
catch (IOException e) {
String Message = e.getMessage();
}
return Count;
}
此代码适用于除此之外的所有文件。
当它到达这个文件时,它会打开它(并显示正确的文件长度),但是当它读取它时,我得到一个 IOException 并且 LogCat 说“读取资产数据时出错”,然后是“无法访问资产数据: -1"
如果我使用不同的文件并将其名称更改为 Gate.IC 并且资产中没有实际的 Gate.IC 文件,它可以工作。 如果我将原始 Gate.IC 的名称更改为另一个资产的名称,则会出现与“封面”名称相同的错误。
我不知道这个文件是什么,它就是无法读取。
这是流氓文件:
【问题讨论】:
-
这个错误在 Nexus 4 上没有出现,但在三星 Galaxy SII 上出现了!
标签: java android exception file-io