java - 提供连接的 OutputStream 和 InputStream 的最佳实践

标签 java inputstream outputstream

Possible Duplicate:
Connecting an input stream to an outputstream

如果我有一个需要OutputStream(来自第三方库)的方法,以及另一个需要InputStream(同样来自第三方库)的方法。将两者结合在一起的最佳实践是什么?基本上我需要某种对象来提供连接的输入流和输出流。

我想到了一种使用 SynchronousQueue 的方法,但必须将每个原始字节转换为对象字节并取消转换,这听起来不是一个好主意。

我不想使用临时文件,并且缓冲整个 InputStream 是不可能的,因为数据可能非常大。

编辑:另外,如果可能的话,我想保持单线程。

这里的最佳实践是什么?

编辑:我需要澄清:我没有输入流或输出流,只有两种方法。一个期望OutputStream写入数据,另一个期望InputStream从中读取数据。

最佳答案

如果数据量不大

ByteArrayOutputStream -> byte[] -> ByteArrayInputStream

否则

PipedInputStream + PipedOutputStream

需要 2 个线程,因为 java 不支持“协程”

关于java - 提供连接的 OutputStream 和 InputStream 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12866784/

相关文章:

java - 将 ssl 处理从 Tomcat 转移到 Apache?

java - 测试客户端服务器

java - 如何将 BufferedImage 对象转换为 InputStream 或 BLOB?

c++ - 间接需要指针操作数

java - 重新启动程序后从属性文件中读取

Java:如何将 OutputStream 上的文本格式化为用户控制台的宽度?

java - 在对话框关闭时终止线程

java - 线程后的代码未执行

java - 为什么没有 ZipInputStream 收缩?

java - 标记和预读限制