gpt4 book ai didi

java - 是否可以从 List 创建 ByteBuffer?

转载 作者:行者123 更新时间:2023-11-29 03:30:36 24 4
gpt4 key购买 nike

假设我有一个列表/数组列表或字节缓冲区数组(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 吗?

谢谢!

最佳答案

public ByteBuffer convertToOne(ByteBuffer[] src)
{
int size=0;
for(int i = 0 ; i < src.length ; i++) {
size+=src[i].array().length;
}

ByteBuffer newBuffer = ByteBuffer.allocate(size);

int sizeAt = 0;
for(int i = 0 ; i < src.length ; i++) {
newBuffer.put(src[i].array(), sizeAt);
sizeAt += src[i].array().length;
}
return newBuffer;
}

关于java - 是否可以从 List<ByteBuffer> 创建 ByteBuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18469241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com