2011-07-12 11 views
2

どのように使用Runtime.getRuntime()。exec()?exec()メソッドを使用してJavaコードでWindowsコンソールアプリケーションを実行するには?

私が試してみてください。

try { 
    String[] callAndArgs = {"path\\program.exe","arg1","arg2","arg3"} 
    System.out.println("before"); 
    Process p = Runtime.getRuntime().exec(callAndArgs) 
    System.out.println("in"); 
    p.waitFor(); 
    System.out.println("after"); 
} catch (IOException e) { 
      System.out.println("catch io: " + e.getMessage()); 
     } catch (InterruptedException ie) { 
      System.out.println("catch ie: " + ie.getMessage()); 
     } 

そして、プログラムが動作しません。出力:

before 
in 
after 

hm?ヘルプ; P

答えて

0

多分これはあまりにも(http://ubuntuforums.org/showthread.php?t=681779)、

import java.lang.* ; 

public class MyJavaClass 
{ 
public void runCmd(String[] args) 
{ 
String cmd = "/home_dir/./my_shell_script.sh" ; 
Runtime run = Runtime.getRuntime() ; 
Process pr = run.exec(cmd) ; 
pr.waitFor() ; 
BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream())) ; 

while ((String line ; line = buf.readLine()) != null) 
{ 
System.out.println(line) ; 
} 

} 

} 
関連する問題