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