2011-02-19 25 views

答えて

3

How to run command-line or execute external application from Java

import java.io.*; 

public class Main { 

     public static void main(String args[]) { 

      try { 
       Runtime rt = Runtime.getRuntime(); 
       //Process pr = rt.exec("cmd /c dir"); 
       Process pr = rt.exec("c:\\helloworld.exe"); 

       BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream())); 

       String line=null; 

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

       int exitVal = pr.waitFor(); 
       System.out.println("Exited with error code "+exitVal); 

      } catch(Exception e) { 
       System.out.println(e.toString()); 
       e.printStackTrace(); 
      } 
     } 
} 
0

使用Runtime.getRuntime().exec()

3
Process p = Runtime.getRuntime().exec("cmd /C dir"); 
BufferedReader stdin = new BufferedReader(new InputStreamReader(p.getInputStream())); 
3

ProcessBuilderなどを使用してください。

Process p = new ProcessBuilder("myCommand", "myArg").start();

これは、内蔵シェルコマンドまたは実行Runtime.getRuntime().exec()

+0

これは、「Process p = Runtime.getRuntime()...」を使用して得た奇妙なバグを修正しました。カスタムコマンドで使用されているファイル名からスペースを削除していました。しかし、ProcessBuilderを使うと正しく動作します。ありがとう! – rtfminc

関連する問題