将运行时exec()OutputStream打印到控制台

我想获得OutputStream的的Process通过启动exec()到控制台。如何才能做到这一点?

这是一些不完整的代码:

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.OutputStream;

import java.io.PrintStream;

import java.io.Reader;

public class RuntimeTests

{

public static void main(String[] args)

{

File path = new File("C:\\Dir\\Dir2");

String command = "cmd /c dir";

Reader rdr = null;

PrintStream prtStrm = System.out;

try

{

Runtime terminal = Runtime.getRuntime();

OutputStream rtm = terminal.exec(command, null, path).getOutputStream();

prtStrm = new PrintStream(rtm);

prtStrm.println();

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

回答:

我最近遇到了这个问题,只想提及自从Java 7以来,流程构建器api已得到扩展。现在可以使用以下方法解决此问题:

ProcessBuilder pb = new ProcessBuilder("yourcommand");

pb.redirectOutput(Redirect.INHERIT);

pb.redirectError(Redirect.INHERIT);

Process p = pb.start();

以上是 将运行时exec()OutputStream打印到控制台 的全部内容, 来源链接: utcz.com/qa/422618.html

回到顶部