使用Java 7中的ProcessBuilder构建流程管道

时间:2011-11-23 13:41:01

标签: java pipe processbuilder

我一直试图弄清楚如何使用新的ProcessBuilder在Java中管理一些进程。我找不到一个合适的例子来说明我想要做什么,当我尝试自己做这个过程时,这个过程就会挂起。我将非常感谢一些代码运行相当于cat test.txt | wc的代码的简单示例,但不是通过shell。

- 更新 -

好的,只是澄清一下。我知道有一些方法可以通过读写流来模拟管道。我想知道这是否是通过Java 7中引入的redirectInputredirectOutput方法以某种自动方式完成的。

2 个答案:

答案 0 :(得分:3)

在这种情况下,您不需要管道。

"grep bla test.txt"

但是假设你需要一个管道,你需要使用像bash这样的shell

"/bin/bash", "-c", "grep foo text.txt | grep bar"

答案 1 :(得分:3)

使用Input-中的简单复制循环为每个OutputStream / run()对开始子线程。