如何打印到stdout得到執行命令的輸出字符串?顯示由的Runtime.exec返回的過程的輸出數據流()
因此Runtime.getRuntime().exec()
將返回Process
,並通過調用getOutputStream()
,我可以獲得如下的對象,但如何顯示它的內容到標準輸出?
OutputStream out = Runtime.getRuntime().exec("ls").getOutputStream();
感謝
如何打印到stdout得到執行命令的輸出字符串?顯示由的Runtime.exec返回的過程的輸出數據流()
因此Runtime.getRuntime().exec()
將返回Process
,並通過調用getOutputStream()
,我可以獲得如下的對象,但如何顯示它的內容到標準輸出?
OutputStream out = Runtime.getRuntime().exec("ls").getOutputStream();
感謝
我相信你正在試圖從過程的輸出,併爲你應該得到的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);
當您想要將某些輸出寫入/發送給進程時,您會得到OutputStream
。
將流轉換爲字符串,如Get an OutputStream into a String中所述,並簡單地使用Sysrem.out.print()