java.nio 中不存在任何实现,但几乎所有通道都实现了GatheringByteChannel,并且ScatteringByteChannel可以直接读取和写入 ByteBuffer 数组。
long write(ByteBuffer[] srcs)将给定缓冲区中的字节序列写入此通道。
长的
read(ByteBuffer[] dsts)从此通道读取字节序列到给定的缓冲区中。
上述方法也有部分版本,请参阅上面的链接。
NIO 的要点是尽可能降低开销,并且这种方式(而不是使用单独的对象包装缓冲区)不会比简单数组产生更多开销。我认为你的就是这个及其实现的预期用例。