IO 輸入與輸出(9)-- Java程序與其他進程的數據通信

Java程序中,可以啓動其他的應用程序,這種在Java中啓動的進程稱爲子進程,啓動子進程的Java程序就稱爲父進程。

 

Java程序中,可以使用Process類實例對象來表示子進程,子進程的標準輸入和輸出不再連接到鍵盤和顯示器,而是以管道流的形式連接到父進程的一個輸出流和輸入流對象上。

 

調用Process類的getOutputStreamgetInputStream方法可以獲得連接到子進程的輸出流和輸入流對象。

 

下面直接看一個例子吧:

TestInOut.java中啓動java.exe命令執行另外一個MyTest.javaTestInOut.javaMyTest.java通過進程間的管道相互傳遞數據。

 

 MyTest.java

 

 

TestInOut.java

 

 需要注意的是:在管道緩衝區滿了以後,與PipedInputStream相連的PiredOutputStream無法再寫入新的數據,PipedOutputStream.write()方法將處於阻塞狀態。

 版權聲明: 原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章