【发布时间】:2010-03-04 22:41:32
【问题描述】:
我正在读取这样的二进制文件:
InputStream in = new FileInputStream( file );
byte[] buffer = new byte[1024];
while( ( in.read(buffer ) > -1 ) {
int a = // ???
}
我想要读取最多 4 个字节并从中创建一个 int 值,但是我不知道该怎么做。
我觉得我必须一次抓取 4 个字节,并执行一个“字节”操作(如 >> > & 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 )
【问题讨论】:
标签: java data-conversion