显示Runtime.exec()返回的进程的输出流

时间:2013-04-14 04:59:32

标签: java outputstream runtime.exec

如何打印stdout执行命令获得的输出字符串?

因此Runtime.getRuntime().exec()将返回Process,并且通过调用getOutputStream(),我可以获得如下对象,但如何将其内容显示为stdout?

OutputStream out = Runtime.getRuntime().exec("ls").getOutputStream();

由于

2 个答案:

答案 0 :(得分:2)

我相信您正在尝试从流程中获取输出,为此您应该获得InputStream

InputStream is = Runtime.getRuntime().exec("ls").getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader buff = new BufferedReader (isr);

String line;
while((line = buff.readLine()) != null)
    System.out.print(line);

当您想要向Process发送/发送一些输出时,您会得到OutputStream

答案 1 :(得分:0)

将流转换为字符串,如Get an OutputStream into a String中所述,只需使用System.out.println()