支持小端写入/读取的可扩展 ByteBuffer 等效项?
Posted
技术标签:
【中文标题】支持小端写入/读取的可扩展 ByteBuffer 等效项?【英文标题】:Expandable ByteBuffer equivalent supporting little endian write/reads? 【发布时间】:2011-09-15 22:47:44 【问题描述】:我目前正在使用ByteBuffer
来存储一系列原语,然后再通过网络发送。
我正在使用data.order(ByteOrder.LITTLE_ENDIAN);
,因为这就是应该发送数据的方式。
是否有支持 putShort()
... 使用小端序的 ByteBuffer 等效项,并且可以扩展?
我可以编写一个检查limit()
和position()
的包装器,并在必要时创建一个新的更大的ByteBuffer
,但我不敢相信没有其他现有的类可以做到这一点。
【问题讨论】:
【参考方案1】:看来 Apache Mina 有你想要的:http://mina.apache.org/report/1.1/apidocs/org/apache/mina/common/ByteBuffer.html
我知道 Mina 用于许多生产消息传递系统,因此它可能是比 Google 返回的其他结果更好的选择。当您似乎正在编写网络代码时,您可能会发现 Mina 的其他部分很有用。
但是,我认为分配一个比需要大得多的 JDK 缓冲区要简单得多,只需进行简单检查以确保不会超出它。如果出现溢出,写入第一个缓冲区,然后分配替换。
【讨论】:
以上是关于支持小端写入/读取的可扩展 ByteBuffer 等效项?的主要内容,如果未能解决你的问题,请参考以下文章