android java InputStream :InputStream.availableの値が異常。
MIDIファイルのデータを処理するアプリを作成中で、リソースのMIDIファイルをInputStream
で読み込んで、一応動作したのですが、SDカードのMIDIファイルをFileInputStream
で読んで、InputStream
にして、同じメソッドで処理しようとするとNGです。
その原因を探ると、FileInputStream
で読んだ時点では本来のファイルバイト数だったのが、InputStream
に変えた時点で22バイト少なくなっていることを確認しました。
原因と正常なInputStream
を得る方法を教えてください。
// 略
filePath2 = cursor.getString(0);
try {
//midM = new FileInputStream(new File(filePath2));
fInputStream=new FileInputStream(filePath2);
int nsize=fInputStream.available();
midM = fInputStream;
int msize=midM.available();
if (nsize!=msize) {
editedText=editedText+" fInputStream<>midM";
midM.close();
editText.setText(editedText);
return;
}
//略