【发布时间】:2010-12-09 15:31:55
【问题描述】:
我有一个来自 "apache bzi2 library" 的 CBZip2OutputStream 类,它可以将二进制数据流转换为 bzi2 数据流。 但我需要存档一个字符串。 因此,我认为,我应该从该输出流创建一个输入流,将该数据写入输出流并从输入流读取存档数据......但是如何链接输出流和输入流?
【问题讨论】:
标签: java
我有一个来自 "apache bzi2 library" 的 CBZip2OutputStream 类,它可以将二进制数据流转换为 bzi2 数据流。 但我需要存档一个字符串。 因此,我认为,我应该从该输出流创建一个输入流,将该数据写入输出流并从输入流读取存档数据......但是如何链接输出流和输入流?
【问题讨论】:
标签: java
您可以从输入流中读取并写入输出流。这是一种常见的做法。 IOUtils.copy()(来自 jakarta commons)会这样做,因此您不需要实现循环。
您也可以使用 PipedInputStream 和 PipedOutputStream。
【讨论】:
首先,您可能需要一个 DataOutputStream:它被设计用来获取原语和对象并将它们转换为字节。它也处理字符串。
接下来,使用管道 I/O:PipedInputStream 和 PipedOutputStream。您可以使用它们将流链接在一起,类似于从命令行将输入从一个进程传递到另一个进程。
【讨论】:
您可以使用多种方法从 OutputStream 中获取 InputStream。
【讨论】: