麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Java技巧使用管道數據流傳送數據

2019-11-18 13:11:18
字體:
來源:轉載
供稿:網友

  java I/O系統是建立在數據流概念之上的,在UNIX操作系統中有一個類似的概念很流行,那就是管道,它具有將一個程序的輸出當作另一個程序的輸入的能力。
  
  Java為這種管道概念提供了PipedInputStream和PipedOutputStream類。將這兩者結合在一起,它們答應一個Java組件輸出數據到輸出流,而另一個組件將這個輸出流當作輸入流來讀取。
  
  舉個例子可以說明,比如一個用來記錄應用程序日志信息的組件和一個用來顯示流數據動態報表的組件。通過給日志記錄組件提供PipedOutputStream,給報表組件提供相應的PipedInputStream,這兩個組件就不用知道對方的情況而可以相互通信。
  
  最簡單的情況下,代碼段如下所示:
  
  importjava.io.*;
  
  public class Foo {
  
  static public void main(String[] args) throwsIOException {
  PipedOutputStream pout = newPipedOutputStream();
  PipedInputStream= new PipedInputStream(pout);
  for(int i=0; i 〈 100; i++) {
  pout.write((byte)i );
  }
  pout.close();
  
  int j=0;
  while( (j = pin.read()) != -1)
  {
  System.err.PRintln(j);
  }
  pin.close();
  }
  }
  上面的代碼中,一定要記得調用close()以關閉輸出流"pout",否則第二輪循環永遠也不會結束。
  
  這個粗泛的例子并不是正常的可用的代碼。隨著第一輪循環數量越來越大,PipedOutputStream中的緩沖將會用盡,從而出現問題,比如它在等待某些程序從流里面刪除數據時會導致線程死鎖。
  
  這就是為什么管道流的Javadoc中聲明了PipedInputStream和PipedOutputStream必須用在多線程環境里面的原因。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 草逼一区 | 免费一级在线视频 | 午夜爽爽爽男女免费观看hd | 黄色片网站在线看 | 精品一区二区久久久久久久网精 | 大号bbwassbigav头交| 毛片一级网站 | 91短视频在线观看 | 午夜视频久久 | 91av久久| 成人黄色小视频网站 | 操网 | a一级黄 | 毛片在哪看 | 成人午夜在线免费视频 | 欧美乱码精品一区 | 性欧美视频在线观看 | 青青草成人影视 | 日本va在线观看 | 综合网日日天干夜夜久久 | 欧美精品一区二区三区久久久 | 亚洲天堂在线电影 | 免费特黄| 色悠悠久久久久 | 日日爱夜夜操 | 欧美一级淫片a免费播放口 91九色蝌蚪国产 | 91美女视频在线 | 欧美成网 | 亚洲av一级毛片特黄大片 | 真人一级毛片免费 | 国产精品18久久久久久久 | 久久精品日韩一区 | 毛片电影网址 | 亚洲αv | 亚洲精品永久视频 | 久草网在线 | 精品一区二区三区中文字幕老牛 | 娇妻被各种姿势c到高潮小说 | 日本黄色一级视频 | 中文字幕免费播放 | 久久最新网址 |