外部コマンドの実行
Javaで外部コマンドを実行する際には、java.lang.Runtime#execメソッドを使います。 RuntimeオブジェクトはRuntimeクラスのstaticメソッドである、getRuntimeで取得します。 例えば、"ls -a"というコマンドを実行するプログラムは以下のようになります。

			
import java.io.*;

public class ExecTest {
    public static void main(String[] args) {
        try {
            Runtime runtime = Runtime.getRuntime();
            Process process = runtime.exec("ls -a");

            /*標準出力を取得*/
            InputStream is = process.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));

            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);   //コマンドの結果を返す
            }

            process.waitFor();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}

ソースのprocessのインスタンスに与える引数、"ls -a"が実行する外部コマンドになります。Process#waitForメソッドは、 外部コマンドの終了を待っている部分です。外部コマンドの実行と同期を取るにはこのような処理が必要です。 また、Runtime#execメソッドはIOExceptionを、Process#waitForメソッドは InterruptedExceptionを投げる可能性があるので、try-catch文で囲まなければなりません。
実行結果