little endian DataInputStream

有没有办法强制DataInputStream读取little-endian数据? 谢谢

PS。 进行字节缓冲区转换不是很方便,因为我正在处理具有大量32位和16位成员的C类型结构。

不需要。您需要将流包装为从big endian转换为little endian。 你可以google并找到几个小端流的实现….

也许您可以使用允许顺序的ByteBuffer(ByteOrder.LITTLE_ENDIAN)之后,大多数方法都像DataInputStream。

Guava现在包括LittleEndianDataInputStream和LittleEndianDataOutputStream 。

如果您还没有使用Guava,Peter Lawrey上面的回答可能更好。