数値データが 16 ビット形式で格納されているバイナリ ファイルを読み込んでいます。このファイルをビジュアル C++ プログラムで読み取ると正常に動作しますが、次の Java コードを使用すると、目的の結果が得られず、出力がガベージ値のように見えます。RandomAccessFile
ご覧の通り使っています。しかし、私は絶対にばかげた値を取得しています。さらに、このファイルに浮動小数点値が格納されていますが、readFloat()
、 またはを使用している場合readInt()
でもreadShort()
、目的の結果を得ることができません。どこが間違っているのか教えてください。 ファイルの最初の 10 バイト: 01100000 00000000 00100011 00100000 11000000 00100011 11000001 00100010 10111111 00100001 . 時間を割いてくれてありがとう
public class Test {
public static void main(String[] args) throws IOException {
RandomAccessFile data = new RandomAccessFile("D:\\RawEEGData.bin","r");
try {
while(data != null) {
// i have tried readFloat(), readShort() and readInt()
// but none of them seems to be working
float myInt16 = data.readFloat();
System.out.printf(" %f\n", myInt16);
}
} finally {
if (data != null) { data.close(); };
}
}
}