将ByteBuffer的内容写入DataOutput?

时间:2018-05-11 11:39:22

标签: java bytebuffer dataoutputstream

我需要编写ByteBuffer的对象被输入为接口 DataOutput 的实例,而不是类 DataOutputStream (实现DataOutput)的实例。我需要假设ByteBuffer.hasArray()可以返回false,所以我无法访问任何底层数组。

DataOutput和DataOutputStream都不提供接受ByteBuffer的write方法。但是,将ByteBuffer写入DataOutputStream可以通过将OutputStream传递给Channels类的实用程序方法获得的WritableByteChannel来完成。但是DataOutput与OutputStream不兼容,并且不存在类似的实用方法。

SDK是否提供了执行此操作的有效例程?我宁愿不必创建一个中间字节数组并使用批量get操作循环遍历ByteBuffer(有效地复制WritableByteChannel实现的代码)。

0 个答案:

没有答案