【发布时间】:2015-04-27 09:59:33
【问题描述】:
我正在使用 Runtime.getRuntime().exec(command) 从控制台执行一些程序。
如果程序是有限的(只完成一些任务并输出信息然后关闭)一切都很好。我可以执行程序,然后我的 java 程序继续运行。
我的问题是程序直到某些用户输入才完成。那我不知道怎么和它交互。
例如,我在 java 中有一个名为 a.jar 的程序,其主要代码如下:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String line = "";
while (line.equals("q") == false) {
line = in.readLine();
}
现在如果我想从另一个 java 程序运行它
Process p = Runtime.getRuntime().exec("java -jar q.jar");
System.out.println("Program terminated");
它永远不会显示程序终止消息。有什么建议可以解决这个问题吗?
我希望我已经解释了自己,谢谢
【问题讨论】:
标签: java input command runtime