java - 添加 ByteArrayOutputStreams

标签 java io apache-commons bytearrayoutputstream

我有一堆ByteArrayOutputstreams,在这些流上可以根据特定工作流程的不同部分编写 pdf 报告。我使用 IText 来完成此任务。现在,最后我想将所有这些单个 ByteArrayOutputstream 分组为一个更大的 ByteArrayOutputstream ,以便将所有 pdf 报告分组在一起。

我查看了 Apache Commons 库,但找不到任何有用的东西。

我知道的一种方法是将这些 ByteArrayOutputstreams 转换为 byte[] ,然后使用 System.arraycopy 将它们复制到更大的字节[]。问题是我必须预先声明结果 byte[] 的大小,这使得它不理想。

还有其他方法可以复制/附加到/连接我可能错过的 ByteArrayOutputStreams 吗?

最佳答案

您可以使用 List<Byte[]>为了那个原因。您可以随时将字节添加到列表中。

List<Byte[]> listOfAllBytes = new ArrayList<Byte[]>;
ByteArrayOutputstreams byteArray = //...
listOfAllBytes.add(byteArray.toByteArray);

最后,您可以获得完整的字节数组。

关于java - 添加 ByteArrayOutputStreams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11428015/

相关文章:

c - 需要一些关于如何更整齐地打印直方图的建议

html - 此方法的 Oracle PL/SQL 等效项是什么?

java - 是否有任何泛型版本的 apache 公共(public)对象池?

java - 使用 Apache Commons CLI 的互斥选项

java - 在倒计时器上使用 windowFocusListener

java - 实现二分查找的问题

Java:即使我在后台运行游戏时如何保持我的应用程序正常运行

java - 哪里允许注入(inject)EJB?

java - 使用 StAX 写入现有 xml 文件

java - 在循环期间动态写入 CSV