0

我需要从我的 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 文件,但我不能。

4

1 回答 1

0

尝试从 cmd.exe (即命令提示符)运行它,看看它是否运行良好。控制台输出应该为您提供程序执行的跟踪。

于 2013-08-05T08:01:11.643 回答