在Java 5/6中重定向ProcessBuilder的输出?

sal*_*inx 9 java redirect process processbuilder

我正在寻找一种方法来重定向Process/ProcessBuilder的输出?我知道它在Java 7中可以这样工作:

ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectOutput();
Process process = builder.start();
Run Code Online (Sandbox Code Playgroud)

但我对Java 5/6也需要相同的...任何帮助高度赞赏.

Juv*_*nis 4

Windows 7上使用Java 6 的cmd进程的示例代码:

ProcessBuilder processBuilder = new ProcessBuilder( "cmd" );        
Process process = processBuilder.start();
OutputStream stream = process.getOutputStream();
Run Code Online (Sandbox Code Playgroud)

方法的 Javadoc getOutputStream():表示 “获取子进程的输出流。该流的输出通过管道传输到此 Process 对象表示的进程的标准输入流中。”

要重定向进程的输出,我认为您可以使用stream上面代码中定义的对象。您可以将其写入控制台等。

  • 嗯..我的目标是读出我构建的进程的标准输出,javadoc 说:“该流从该 Process 对象表示的进程的标准输出流获取通过管道传输的数据。” 在这种情况下,javadoc 对我来说有点奇怪...... (4认同)