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 の名前を別のアセットの名前に変更すると、「カバー」の名前で同じエラーが発生します。
このファイルを読み取れないのは、このファイルの内容がわかりません。
ローグファイルは次のとおりです。