如何将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