java getRuntime()。exec()不起作用

时间:2015-03-16 14:21:33

标签: java ubuntu-14.04 shellexecute

我正在尝试使用Java exec来运行我的脚本并获得结果并在我的程序中使用它。

我有以下代码行。

public static void main(String[] argv) throws Exception {

    Process p = Runtime.getRuntime().exec("phantomjs quebecPhantom.js");

    BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));

    String line = in.readLine();

    System.out.println(" [x] Sent '" + line + "'");
}

我希望我的PhantomJS Script被执行,而line变量会获取Script的输出。但是,我的脚本没有执行(它应该花费更多的时间,它应该产生一些我不会看到的屏幕截图)。然后,line变量取null值。

我应该考虑更多的东西来执行我的脚本吗?

1 个答案:

答案 0 :(得分:0)

上面代码行的问题是我需要获取phantomjs的路径以及我想要执行的命令中的脚本。然后该行应改变如下,

Process p = Runtime.getRuntime().exec("path to phantomjs" + " " + "path to the script");

就我而言,就像

Process p = Runtime.getRuntime().exec("/usr/bin/phantomjs /home/name/quebecPhantom.js");