【发布时间】:2013-02-01 15:28:55
【问题描述】:
对于某些终端命令,它们会重复输出。例如,对于正在生成文件的内容,它可能会输出完成的百分比。
我知道如何使用 Java 调用终端命令
Process p = Runtime.getRuntim().exec("command goes here");
但这并不能让我实时了解命令的当前输出。我怎样才能做到这一点,以便我可以每 100 毫秒执行一次 System.out.println(),例如,查看进程的最新输出是什么。
【问题讨论】:
-
当然,它允许访问 STDOUT 和 STDERR。见docs.oracle.com/javase/7/docs/api/java/lang/Process.html
-
谢谢。那么,您能否举例说明如何使用它来每隔 100 毫秒左右获取一次输出?
-
使用 Runtime.exec() javaworld.com/jw-12-2000/jw-1229-traps.html的人必读