readBoolean()读取一个字节。
readLine()读取单个字节并将每个字节转换为一个
char。
readUTF()读取修改后的UTF-8(其代码单位大小为一个八位字节)。UTF-8
没有字节序。
这些方法没有字节顺序问题。
关于设计,请考虑类型是否需要为an,
InputStream以及是否
ByteBuffer可能有用。如果您没有使用标记/重置之类的功能,并且
Closeable可能不会公开新类型:
public class Bytes { public static DataInput littleEndian(final DataInput decorated) { class LittleInput implements DataInput { private ByteBuffer buffer = ByteBuffer.allocate(8); public int readInt() throws IOException { buffer.clear(); buffer.order(ByteOrder.BIG_ENDIAN) .putInt(decorated.readInt()) .flip(); return buffer.order(ByteOrder.LITTLE_ENDIAN) .getInt(); } //TODO: other methods } return new LittleInput(); }}我注意到流行的Guava库已经具有LittleEndianDataInputStream。



