我需要从我的 Java 应用程序运行一个用 C 编写的外部程序。我正在尝试使用Runtime.getRuntime().exec()
部分成功。我使用带有.exe文件路径及其参数的字符串执行程序:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line=null;
while((line=input.readLine()) != null) {
log.info(line);
}
int exitVal = pr.waitFor();
这可以正常工作 - 程序执行并将有关其行为的信息发送到控制台。问题是外部程序在执行期间试图运行其他子程序。所以基本上我需要做的是:我运行program.exe
我的 Java 应用程序并program.exe
运行subprogram.exe
. 不幸的是,事实并非如此,因为subprogram.exe
在当前情况下永远不会开始。我应该怎么做才能让它发挥作用?谢谢你的帮助。
让它如此复杂不是我的决定,我很乐意只执行一个 .exe 文件,但我不能。