【发布时间】:2017-05-17 18:35:18
【问题描述】:
假设我有一个 list/arrayList 或一个 ByteBuffers 数组(List<ByteBuffer> 或 ByteBuffer[])
是否可以直接从上述数组中获取字节,而无需遍历所有项目或计算它们的总大小?我正在寻找这样的东西:
ByteBuffer[] bufferList = new ByteBuffer[7]; //this can be any kind of list of ByteBuffers
//add items to the array
ByteBuffer buffer = (ByteBuffer) bufferList; //what i want to achieve
当然最后一行是不正确的。
问题是我已经在数组中按顺序排列了所有字节,但我希望它们不再在列表中,而是在单个 ByteBuffer 中。那么有什么东西可以从 ByteBuffers 的列表/数组中创建一个 ByteBuffer 吗?
谢谢!
【问题讨论】:
-
您在数组或列表中有单独的
ByteBuffer元素,每个元素都有 X 字节,您想将所有这些字节添加到单个ByteBuffer? -
你可能只需要为它编写一个方法。
-
创建一个新的 ByteBuffer,遍历你的缓冲区数组,使用 .array() 将每个 bytebuffer 作为一个数组,然后使用 put(byte[]) 进入你的新 ByteBuffer
-
是的@SotiriosDelimanolis。我有一个具有不同字节大小的 ByteBuffer 列表,我想从中创建一个 ByteBuffer。
标签: java arrays bytearray bytebuffer