在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()方法将处于阻塞状态。
版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。