如何将ByteBuffer的内容放入OutputStream?

我需要将的内容java.nio.ByteBuffer放入java.io.OutputStream。(希望我有一个Channel替代品,但我没有)这样做的最佳方法是什么?

我不能使用ByteBuffer的array()方法,因为它可以是只读缓冲区。

在使用此ByteBuffer和具有byte[]我可以OutputStream.write()直接使用的常规数组之间,我也可能会穿插写入OutputStream

回答:

查看Channels.newChannel(OutputStream)。给定一个OutputStream的通道。使用WritableByteChannel适配器,您可以提供ByteBuffer并将其写入OutputStream。

public void writeBuffer(ByteBuffer buffer, OutputStream stream) {

WritableByteChannel channel = Channels.newChannel(stream);

channel.write(buffer);

}

这应该可以解决问题!

以上是 如何将ByteBuffer的内容放入OutputStream? 的全部内容, 来源链接: utcz.com/qa/420156.html

回到顶部