Java IO: PipedInputStream

Posted 耳东陈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java IO: PipedInputStream相关的知识,希望对你有一定的参考价值。

原文链接 作者: Jakob Jenkov 译者: 李璟([email protected])

PipedInputStream可以从管道中读取字节流数据,代码如下:

01 InputStream input = new PipedInputStream(pipedOutputStream);
02  
03 int data = input.read();
04  
05 while(data != -1) {
06  
07     //do something with data...
08  
09     doSomethingWithData(data);
10  
11     data = input.read();
12  
13 }
14  
15 input.close();

请注意,为了清晰,这里忽略了必要的异常处理。想了解更多异常处理的信息,请参考Java IO异常处理

PipedInputStream的read()方法返回读取到的包含一个字节内容的int变量(译者注:0~255)。如果read()方法返回-1,意味着程序已经读到了流的末尾,此时流内已经没有多余的数据可供读取了,你可以关闭流。-1是一个int类型,不是byte类型,这是不一样的。

 

Java IO管道

正如你所看到的例子那样,一个PipedInputStream需要与一个PipedOutputStream相关联,当这两种流联系起来时,就形成了一条管道。要想更多地了解Java IO中的管道,请参考Java IO管道

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java IO: PipedInputStream

以上是关于Java IO: PipedInputStream的主要内容,如果未能解决你的问题,请参考以下文章

Java IO PipedInputStream 和 PipedOutputStream

java IO 管道流PipedOutputStream/PipedInputStream

PipedInputStream - 如何避免“java.io.IOException:Pipe broken”

java.io.PipedInputStream

JAVA IO流相关代码(Serializable接口,管道流PipedInputStream类,RandomAccessFile类相关代码)

JAVA IO流相关代码(Serializable接口,管道流PipedInputStream类,RandomAccessFile类相关代码)