閱讀377 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Java IO: PipedInputStream

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管道

最後更新:2017-05-23 12:01:48

  上一篇:go  Java IO: PipedOutputStream
  下一篇:go  Java中的模板模式