16.Java IO: PipedOutputStream && Java IO: PipedOutputStream

来源:互联网 发布:共产主义社会 知乎 编辑:程序博客网 时间:2024/05/28 17:06

本文是在Java IO: PipedOutputStream 和 Java IO: PipedOutputStream翻译而来。

PipedOutputStream类使得以字节流读取管道的内容成为可能。管道是同一个JVM中线程间的通信通道。在教程Java IO Pipes. 中有更详细的解释。

PipedInputStream例子

这里有一个简单的PipedInputStream的例子:

InputStream input = new PipedInputStream(pipedOutputStream);int data = input.read();while(data != -1){    //do something with data ...    doSomethingWithData(data);    data = input.read();}input.close();

PipedInputStream的read()方法返回一个int值,这个值包含已读字节的值。
如果read()方法返回-1,在流中就没有更多的可读数据,可以关闭流。另外,-1是int值,不是字节值。这里是不一样的!

更多PipedInputStream 方法

由于PipedInputStream是InputStream的子类,PipedInputStream像InputStream一样有相同的基本方法和使用模式。查看Java IO: InputStream–输入流 获取更多信息。

Java IO Pipes

像上述的例子一样,PipedInputStream需要和PipedOutputStream连接。当这两个流连接时,它们来自一个管道。

PipedOutputStream类使得以字节流向管道写入数据成为可能。管道是同一个JVM中线程间的通信通道。

PipedOutputStream例子

这里有一个简单的PipedOutputStream的例子:

OutputStream output = new PipedOutputStream(pipedInputStream);while(moreData){    int data = getMoreData();    output.write(data);}output.close();

PipedOutputStream的write()方法带有一个int值,这个值包含要写入字节的数值。

更多PipedOutputStream 方法

由于PipedOutputStream是OutputStream的子类,PipedOutputStream像OutputStream一样有相同的基本方法和使用模式。查看Java IO: OutputStream–输出流 获取更多信息。

Java IO Pipes

像上述的例子一样,PipedInputStream需要和PipedOutputStream连接。当这两个流连接时,它们来自一个管道。

0 0
原创粉丝点击