我的 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 的名称更改为另一个资产的名称,那么我会收到与“封面”名称相同的错误。
我不知道这个文件中的内容是什么,它只是无法读取。
这是流氓文件: