我如何将两个ByteBuffer连接成一个ByteBuffer?
以下方法不可行:
以下方法不可行:
ByteBuffer bb = ByteBuffer.allocate(100);
ByteBuffer bb2 = ByteBuffer.allocate(200);
bb.allocate(200).put(bb2);
System.out.println(bb.array().length);
< p > bb
的长度仍然是 100
。
position
和limit
都将被设置为capacity
,这很可能不是您希望的结果,如果您打算进一步处理返回的ByteBuffer
,您需要调用.flip()
来添加.flip();
以便能够处理整个返回的ByteBuffer
内容。 - user177800flip()
或position(0)
(我个人认为后者更易读) - Marco13