我正在尝试将一系列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());
}