私は次のようなバイナリファイルを読んでいます:
InputStream in = new FileInputStream( file );
byte[] buffer = new byte[1024];
while( ( in.read(buffer ) > -1 ) {
int a = // ???
}
最大4バイトを読み取り、それらからint値を作成するためにやりたいことですが、その方法がわかりません。
一度に4バイトを取得し、1つの「バイト」操作( >> << >> & FF など)を実行して新しいintを作成する必要があるような気がします
これのイディオムは何ですか?
編集
おっと、これはもう少し複雑であることが判明しました(説明するため)
私がやろうとしているのは、ファイル(ASCII、バイナリ、それは問題ではない)を読み取り、それが持つ可能性のある整数を抽出することです。
たとえば、バイナリ コンテンツ (基数 2) があるとします。
00000000 00000000 00000000 00000001
00000000 00000000 00000000 00000010
整数表現はです1
よ2
ね?:- / 最初の 32 ビットは 1、残りの 32 ビットは 2。
11111111 11111111 11111111 11111111
-1だろう
と
01111111 11111111 11111111 11111111
だろう Integer.MAX_VALUE ( 2147483647 )