Java 如何最好地阅读ByteBuffer两次?

Java 如何最好地阅读ByteBuffer两次?,java,bytebuffer,Java,Bytebuffer,我得到一个DataBuffer作为输入参数,它是ByteBuffer的包装器。现在我想记录缓冲区的全部内容。此外,我必须将该缓冲区传递到外部库 因此,由于我无法读取字节缓冲区两次,因此我要么重置缓冲区,要么从字符串重新创建它 问题:以下哪种方法应该是首选的(或者还有更好的方法) 保留原始位置、限制和标记值的缓冲区 String bufferContent = StandardCharsets.UTF_8.decode(bb.duplicate()).toString(); String buf

我得到一个
DataBuffer
作为输入参数,它是
ByteBuffer
的包装器。现在我想记录缓冲区的全部内容。此外,我必须将该缓冲区传递到外部库

因此,由于我无法读取
字节缓冲区
两次,因此我要么重置缓冲区,要么从
字符串
重新创建它

问题:以下哪种方法应该是首选的(或者还有更好的方法)

保留原始位置、限制和标记值的缓冲区

String bufferContent = StandardCharsets.UTF_8.decode(bb.duplicate()).toString();
String bufferContent = StandardCharsets.UTF_8.decode(bb.duplicate()).toString();