我正在寻找一种方法来重定向Process / ProcessBuilder的输出?我知道它在Java 7中可以这样工作:
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectOutput();
Process process = builder.start();
但是对于Java 5/6我需要相同的...任何帮助都非常感谢。
答案 0 :(得分:4)
Windows 7 上 cmd 进程的示例代码,使用 Java 6 :
ProcessBuilder processBuilder = new ProcessBuilder( "cmd" );
Process process = processBuilder.start();
OutputStream stream = process.getOutputStream();
getOutputStream()
方法的Javadoc:说
“获取子进程的输出流。输出到流将通过管道传输到此Process对象表示的进程的标准输入流中。”
要重定向进程的输出,我认为您可以使用上面代码中定义的stream
对象。你可以把它写到控制台等。