我正在制作一个控制台 Java 应用程序,您可以在其中输入控制台命令,例如 Macintosh/Ubuntu/Windows 命令提示符上的终端,然后将其输出到日志。
我想知道,在执行系统/控制台命令时,如何从该命令获取结果/日志?
注意:我的意思是文字代码+解释。
最佳答案
有很多方法可以做到这一点,最简单的是这个(或变体),来自 this example .
Process child = Runtime.getRuntime().exec(command);
InputStream in = child.getInputStream();
如果您有想要转到两个地方的内部命令,请考虑类似 Commons IO TeeOutputStream 的命令。 .
您可以结合上述技术来将所有输出(无论是来自内部命令还是外部命令)获取到控制台和“影子”日志文件。
关于java - 获取系统日志的完整输出(终端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8108601/