将运行时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