如何打印stdout执行命令获得的输出字符串?
因此Runtime.getRuntime().exec()
将返回Process
,并且通过调用getOutputStream()
,我可以获得如下对象,但如何将其内容显示为stdout?
OutputStream out = Runtime.getRuntime().exec("ls").getOutputStream();
由于
答案 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()