2015-03-16 3 views
0

Я пытаюсь использовать Java exec для запуска моего скрипта и получения результата и использования его в своей программе.java getRuntime(). 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

Это путь к 'quebecPhantom.js' правильно? –

+0

Правильно ли путь к фантомам? – ControlAltDel

+0

commons-exec: http://commons.apache.org/proper/commons-exec/ – ema

ответ

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"); 
+0

Suo6613, принять ваш ответ – niceman

Смежные вопросы