java.nio.ByteBuffer
类有一个ByteBuffer.array()
方法,但是它返回的数组大小是缓冲区容量的大小,而不是已使用的容量大小。因此,我遇到了一些问题。我注意到使用
ByteBuffer.remaining()
可以给我当前被缓冲区使用的字节数量,所以基本上我正在寻找一种方法来获取仅包含正在使用的字节的byte[]
。(即在ByteBuffer.remaining()
中显示的字节。)我尝试了几种不同的方法,但似乎都失败了,我唯一想到的解决方法是创建另一个
ByteBuffer
,其分配的大小为剩余缓冲区的大小,然后向其写入(x)个字节。