[英]Determine number of Bytes in ByteBuffer
我有一个ByteBuffer
,可以容纳最多(4 + size
) bytes
(即一个整数后跟size
字符)。 但是,写入ByteBuffer
的字符数可能小于size
。
所以我想知道,无论如何要确定有多少字符写入ByteBuffer
而不仅仅是它的总大小? limit
, position
等不要SEEM成为我所追求的。
谢谢你的帮助!
在写入ByteBuffer之后,可以使用position()
方法找到您编写的字节数。
如果然后flip()
缓冲区,可以使用limit()
或remaining()
方法找到缓冲区中的字节数。
如果您随后读取了一些缓冲区,则可以使用remaining()
方法找到剩余的字节数。
DatagramChannel channel = DatagramChannel.open();
ByteBuffer bb = ByteBuffer.allocate(5+size);
channel.receive(bb);
bb.flip();
// actual length of received packet
int len = bb.remaining();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.