可扩展的ByteBuffer等效支持小端写/读?

时间:2011-09-15 22:47:45

标签: java endianness

我目前正在使用ByteBuffer存储一系列基元,然后再通过网络发送它。 我正在使用data.order(ByteOrder.LITTLE_ENDIAN);,因为这就是数据的发送方式。

是否有支持putShort()的ByteBuffer等效...使用小端,可以扩展AND?

我可以编写一个检查limit()position()的包装器,在必要时创建一个新的更大的ByteBuffer,但我无法相信没有其他现有的类可以做到这一点

1 个答案:

答案 0 :(得分:1)

似乎Apache Mina有你想要的东西:http://mina.apache.org/report/1.1/apidocs/org/apache/mina/common/ByteBuffer.html

我知道Mina用于许多制作消息系统,所以它可能是比Google返回的其他结果更好的选择。当您似乎在编写网络代码时,您可能会发现Mina的其他部分很有用。

但是,我认为分配比需要大得多的JDK缓冲区要简单得多,只需进行简单检查即可确保不会超出它。在执行溢出的情况下,编写第一个缓冲区,然后分配替换。