2011-07-09 11 views
0

OS Xにはmacportsを使用してimagemajickがインストールされています。コマンドライン(bash)からconvertコマンドを実行すると、自分のムービーをjpgに変換できます。しかし、Java Process Builderで実行すると、そのような出力は得られません。何が与える。以下は、このコマンドを実行するために使用するJavaコードです。OS Xを使用してJavaでImagemajickを使用

private void run(String[] args) 
    { 
     try 
      { 
       ProcessBuilder pb = new ProcessBuilder(args); 

       Process p = pb.start(); 

       p.waitFor(); 
       InputStream is = p.getInputStream(); 
       InputStreamReader isr = new InputStreamReader(is); 
       BufferedReader br = new BufferedReader(isr); 
       String line; 
       while ((line = br.readLine()) != null) 
        { 
         System.out.println(line); 
        } 
       is = p.getErrorStream(); 
       isr = new InputStreamReader(is); 
       br = new BufferedReader(isr); 
       while ((line = br.readLine()) != null) 
        { 
         System.err.println(line); 
        } 
      } 
     catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 
    } 

に渡された文字列は、/ usr/local/bin /変換/Users/me/Videos/Capture-20110708-220220.mpg[0] /Users/me/Videos/out0.jpg

答えて

0
です

この関連exampleに示すようにredirectErrorStream()を試して、診断結果を確認することができます。

+0

[Runtime.exec() 'が(http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html)しない場合も参照してください。 – trashgod

+0

[Javaのヒント: 'Runtime.exec()'からProcessBuilder](http://www.java-tips.org/java-se-tips/java.util/from-runtime.exec-to-processbuilder) .html)。 – trashgod

関連する問題