您的位置: 网站首页 > 程序开发 > Java程序设计 > 第11章 输入/输出流和文件操作 > 【11.5 管 道 流】

11.5 管 道 流

 

11.5     

管道(Pipe)流是一种特殊的流,用于在不同线程(Thread)间直接传送数据。一个线程发送数据到输出管道,另一个线程从输入管道中读取数据。通过使用管道实现不同线程间的通信。

Java提供两个类来处理面向字符的管道:PipedReaderPipedWriterPipedReader类继承自Reader抽象类,而PipedWriter类继承自Writer抽象类。PipedReader类用于从管道中读取数据,而PipedWriter类用于向管道中写入数据。

利用PipedReader类和PipedWriter类建立面向字符流的管道方法如下:

PipedReader x = new PipedReader();

PipedWriter y = new PipedWriter(x);

或者,

PipedWriter y = new PipedWriter();

PipedReader x = new PipedReader(y);

这样就可以通过y.write( )把数据写入管道,通过x.read( )读取管道的数据。PipedReader类和PipedWriter类还提供一个方法connect( )用于连接管道。例如:

PipedReader x = new PipedReader();

PipedWriter y = new PipedWriter();

y.connect(x);

这和上面两个例子的效果是一样的。