2013-06-13 146 views
0

我想在終端上打印同時或幾秒鐘後得到wget輸出。爲了解釋我想要看看這個命令wget --recursive --no-clobber --page-requisites --html-extension --convert-links --no-parent http://programmers.blogoverflow.com/它會下載整個網站,並在執行過程中它會逐步輸出它完成的過程,這就是我想要得到的結果。你們知道我該怎麼做?如何在終端上打印linux命令的輸出?

這是我到目前爲止有:

try { 
    Process processWhoAmI = Runtime.getRuntime().exec("wget --recursive --no-clobber --page-requisites --html-extension --convert-links --no-parent http://programmers.blogoverflow.com/"); 
} catch (IOException e) { 
    System.out.println(e); 
} 
+0

你是從終端執行此操作還是必須從程序中執行此操作?如果來自終端,請查看bash手冊頁面中的I/O重定向。 –

+0

@JimNutt它必須來自程序內。 :) – Zignd

回答

1

開始通過ProcessBuilder考慮看看,它會當它涉及到生成過程爲您節省很多麻煩的。

基本上,您需要獲取進程的InputStream並閱讀它。這與進程的標準連接。

您可以使用ProcessBuilder此信息流重定向標準誤差爲好,這會讓生活變得更加簡單...

而且一些例子...