java外部コマンド実行方法

RuntimeクラスまたはProcessBuilderクラスを用いると実現できる。
※ProcessBuilderクラスは、JDK1.6以上

例1

Runtime runtime = Runtime.getRuntime();
Process process = runtime .exec("コマンド");

例2

ProcessBuilder processBuilder =new ProcessBuilder("コマンド");
Process process = processBuilder.start();

上記"コマンド"には実行ファイル。
たとえば、"コマンド" = "notepad.exe"
とすると、ノートパッドが開く

コマンドプロンプトなどのコマンドは直接実行できない。
"コマンド" = new String[]{ "cmd", "/c", "cd" }
などとして、cmdを実行し引数としてコマンドを指定する。
しかしこのままで何も表示されない。

出力を得るには、

InputStream in = null;
BufferedReader br = null;
in = process .getInputStream();
StringBuffer out = new StringBuffer();
br = new BufferedReader(new InputStreamReader(in));
String line;
while ( ( line = br.readLine()) != null) {
system.out.println(line);
}
br.close();
in.close();

とする。