1

我正在尝试将一系列ByteArrayOutputStream对象连接成一个对象,但无法捕获所有数据。出于某种原因,只有第一个write()操作有效(请参见下面的代码),并且结果ByteArrayOutputStream具有数据的修剪版本。我检查了输入列表是否完整(例如,如果我颠倒连接顺序,则结果对象具有列表中最后一个元素的数据)。

我需要在write()操作之间进行其他函数调用以确保实际复制字节数组吗?提前致谢!

ArrayList<ByteArrayOutputStream> outputStreams = new ArrayList<ByteArrayOutputStream>();
ByteArrayOutputStream outputStreamAggregate = new ByteArrayOutputStream();

// ... add data to outputStreams ...

for(int i = 0; i < outputStreams.size(); i++) {
    outputStreamAggregate.write(outputStreams.get(i).toByteArray());
}
4

0 回答 0