2011-11-13 40 views
1

我正在制作控制台Java应用程序,您可以在Macintosh/Ubuntu/Windows命令提示符中键入终端等控制台命令,然后将其输出到日志。获取系统日志(终端)的完整输出

我想知道,在执行系统/控制台命令时,我如何从该命令获取结果/日志?

注:我的意思是文字代码+请解释。

+0

你的意思是:像标准输出一样吗? –

+0

'System.out.println(results)'有什么问题? – mishadoff

+0

@Mishadoff在一个例子中? –

回答

0

有很多方法可以做到这一点,最简单的是这个(或一个变种),从this example

Process child = Runtime.getRuntime().exec(command); 
InputStream in = child.getInputStream(); 

如果你想去两个地方的内部命令,可以考虑像一个Commons IO TeeOutputStream

您可以结合上述技术来获取所有输出,无论是来自内部命令还是外部命令,都可以将控制台和“影子”日志文件都输出。

+0

这不起作用。产生“EventDispatchThread。 –

+0

@GrayAdams我不理解你的评论;对不起。 –