如何在终端上打印的同时获取linux命令的输出?

时间:2013-06-13 00:13:43

标签: java linux wget

我希望在终端上打印后的同一时间或几秒钟内获得wget输出。为了解释我正在尝试查看此命令wget --recursive --no-clobber --page-requisites --html-extension --convert-links --no-parent http://programmers.blogoverflow.com/它将下载整个网站,并在执行期间它将逐步输出它完成的过程,这就是我想要的得到。你们知道我该怎么办?

这是我到目前为止所做的:

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);
}

1 个答案:

答案 0 :(得分:1)

首先看一下ProcessBuilder,在生成流程时会省去很多麻烦。

基本上,您需要获取进程的InputStream并阅读它。这与过程的标准输出有关。

您也可以使用ProcessBuilder通过此流重定向标准错误,这将使生活更轻松......

还有一些例子......