从java调用perl脚本的问题

时间:2013-11-08 19:11:19

标签: java perl

我需要在一个中心位置调用一个perl脚本,使用带有arguements的java ..我使用了以下代码,它什么也没做。有人告诉我什么是丢失的

            final List<String> commands = new ArrayList<String>();                

            commands.add("perl");
            commands.add("I:/golden_scripts/make-tp-patch.pl");
            commands.add(destpath+"/"+"scrfile.txt.org");
            commands.add(pro_name);
            commands.add(patch);
            ProcessBuilder pb = new ProcessBuilder(commands);
            Process p1 = pb.start();

1 个答案:

答案 0 :(得分:1)

假设您的命令是正确的(而不是在帖子中添加了额外的“错误”),并且您的环境设置正确,您可能希望阻止,直到perl脚本完成。

Process p1 = pb.start();

刚启动程序。你不是在等待它完成。你可能想要调用p1.waitFor()来等待程序完成并返回退出代码。

然后当waitFor()返回时,您知道程序已完成或已出错。使用getInputStream()和getErrorStream()中的inputStream来获取perl脚本在运行时打印的STDOUT和STDERR消息可能也是个好主意。