2013-08-15 3 views
1

У меня есть быстрый вопрос: я пытаюсь вызвать следующую командную строку из приложения Java C:/phantomjs/phantomjs диаграмма/chart.jsJava запустить phantomjs из командной строки

Я пытался делать:

public static void go3(){ 
    Runtime rt=Runtime.getRuntime(); 
    try{ 
     final Process pr=rt.exec("cmd C:/phantomjs/phantomjs chart/chart.js"); 
     final int exitCode=pr.waitFor(); 
     if(exitCode!=0){ throw new RuntimeException("program didnt exit with 0, but with "+exitCode); } 
     // System.out.println(pr.toString()); 
     // int exitStatus=pr.waitFor(); 
    }catch(IOException e){ 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    }catch(InterruptedException e){ 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    System.out.println("done"); 
} 

но я получаю код выхода -1. Я посмотрел на различные учебники/вопрос на StackOverflow, но все они работают тривиальные примеры, и я изо всех сил, чтобы понять, как писать часть внутри .exec("what goes here?")

ответ

2

Найдено ответ:

public static void go4(){ 
    String[] command={"cmd","/k","cd /phantomjs&&phantomjs chart/chart.js"}; 
    Process p; 
    try{ 
     p=Runtime.getRuntime().exec(command); 
     PrintWriter stdin=new PrintWriter(p.getOutputStream()); 
     stdin.close(); 
     int returnCode; 
     returnCode=p.waitFor(); 
     System.out.println("Return code = "+returnCode); 

    }catch(IOException e1){ 
     e1.printStackTrace(); 

    }catch(InterruptedException e){ 
     e.printStackTrace(); 
    } 

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