【发布时间】:2026-01-29 00:25:01
【问题描述】:
我刚刚发现RandomAccessFile 类中没有readUnsignedInt() 方法。为什么?是否有任何解决方法可以从文件中读取 unsigned int?
编辑:
我想从文件中读取一个无符号整数并将其放入一个长空格中。
编辑2:
不能使用 readLong()。它将读取 8 个字节而不是 4 个字节。文件中的数据在 4 字节范围内具有无符号整数。
编辑3:
在这里找到答案:http://www.petefreitag.com/item/183.cfm
编辑4:
如果数据文件是小端的呢?我们需要先进行位交换吗?
【问题讨论】:
-
Java 不支持无符号整数。 *.com/questions/430346/…
-
@Swati:嗯,他们可以像
readUnsignedShort()那样做,它读取 2 个字节并返回一个 int:读取 4 个字节并返回一个 long。 -
他们也可以实现 unsigned int,但你能做什么。
-
Pete freitag 的回答相当冗长。 JDK 本身提供了许多排序器、更简单的解决方案。
标签: java