我在磁盘上,我正在读这已被写入由C/C++代码的文件。我知道我有两个64位无符号整数要读取,但Java不支持无符号整数,所以当我执行DataInputStream.readLong()时得到的值不正确。 (现在忽略字节顺序我实际上使用DIS的衍生物,称为LEDataInputStream,我从网上下载)C/C++很长很长到Java长
很多帖子在这里讨论使用BigInteger,但javadoc阅读bytearray只谈论加载一个bytearray respresentation,并且这些问题似乎集中在这样一个事实上,即有些人超出了java long类型的正面界限,而我将远远没有看到我正在阅读的数据。
我有一个MATLAB /倍频脚本读取这些长长的值作为每两个32位整数,然后做一些乘法和增加得到它想要过答案。
我想的问题是 - 怎么办我读取的64位无符号整数或者使用的BigInteger,或者使用[LE] DataInputStream.XXX?
在此先感谢
这看起来很有希望,但我需要实现的功能来读取long类型的自己(因为没有方法有读取一个unsigned long),并把它变成的BigInteger。我已经接受了这个作为官方的回答,因为它是最接近我想要的东西 – 2011-02-24 12:22:11