我刚刚发现RandomAccessFile
类中没有readUnsignedInt
()方法。为什么?有没有解决方法从文件中读取一个无符号整型数?为什么在RandomAccessFile类中没有readUnsignedInt?
编辑:
我想从文件中读取一个无符号整数,并把它变成一个长空间。
EDIT2:
不能使用readLong()。它将读取8个字节而不是4个字节。该文件中的数据具有4字节范围内的无符号整数。
EDIT3:
找到答案在这里:http://www.petefreitag.com/item/183.cfm
Edit4:
怎么样,如果数据文件是little-endian的?我们需要先交换位?
Java不支持无符号整数。 http://stackoverflow.com/questions/430346/why-doesnt-java-support-unsigned-ints – Swati 2011-05-20 20:43:04
@Swati:好吧,他们可以用'readUnsignedShort()'读取2个字节并返回一个int :读取4个字节并返回一个长整型。 – musiKk 2011-05-20 20:46:03
他们也可能刚刚实现了unsigned int,但你可以做什么。 – Swati 2011-05-20 20:51:06