Java的字节序其实和网络字节序是一样的,和x86的本机字节序其实是反的。所以我们在IO的格式分析里面才有那么多麻烦,高位和低位的反序需要自己处理,需要自己读byte而不能用readInt这样的简单实用的函数。其实java的Integer类从jdk1.5之后加入了反字节序函数,很好用,以后简单了,
只需要:
int len = Integer.reverseBytes(randomAccessFile.readInt());
这样就可以获得正确的数值了。
Java的字节序其实和网络字节序是一样的,和x86的本机字节序其实是反的。所以我们在IO的格式分析里面才有那么多麻烦,高位和低位的反序需要自己处理,需要自己读byte而不能用readInt这样的简单实用的函数。其实java的Integer类从jdk1.5之后加入了反字节序函数,很好用,以后简单了,
只需要:
int len = Integer.reverseBytes(randomAccessFile.readInt());
这样就可以获得正确的数值了。