首页 > 解决方案 > 如何使用管道 IO 流

问题描述

从 and 的文档来看PipedInputStreamPipedOutputStream前者形成通信管道的接收端,后者是发送端。这形成了这样的结构:
A -> PipedInputStream-> PipedOutputStream-> B
我的问题是如何指定 A 和 B 是什么。我希望 A 成为标准输入流System.in, B 成为FileOutputStream.
如果我错了,请纠正我,但我认为 Piped Stream 对象提供了一种将 an 连接InputStreamOutputStream. 然而,我没有看到任何将 a 连接PipedInputStream到 a 以外的任何东西的方法PipedOutputStream,反之亦然。

标签: javaio

解决方案


首先通信的方向是
A -> PipedOutputStream-> PipedInputStream-> B

无法将AB设置为某些特定流。
A简单地表示一个线程调用 的write()方法PipedOutputStream来提交一些数据,然后将这些数据转移到PipedInputStream另一个线程Bread()可以使用该方法从中读取它的数据。


推荐阅读