在Java程序中,可以啓動其他的應用程序,這種在Java中啓動的進程稱爲子進程,啓動子進程的Java程序就稱爲父進程。
在Java程序中,可以使用Process類實例對象來表示子進程,子進程的標準輸入和輸出不再連接到鍵盤和顯示器,而是以管道流的形式連接到父進程的一個輸出流和輸入流對象上。
調用Process類的getOutputStream和getInputStream方法可以獲得連接到子進程的輸出流和輸入流對象。
下面直接看一個例子吧:
從TestInOut.java中啓動java.exe命令執行另外一個MyTest.java,TestInOut.java和MyTest.java通過進程間的管道相互傳遞數據。
MyTest.java
TestInOut.java
需要注意的是:在管道緩衝區滿了以後,與PipedInputStream相連的PiredOutputStream無法再寫入新的數據,PipedOutputStream.write()方法將處於阻塞狀態。
版權聲明: 原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。