2011年4月15日金曜日

javaでコマンドファイルを実行し、終了まで待機する。

javaでコマンドファイルを実行し、終了まで待機する場合、返ってくるProcessオブジェクトのwaitFor()メソッドで値が返ってくるのを待つ。


waitを使って監視しなくてもいいので楽かな。


------------------------------------------------------------------------------------------
        try {
            String[] cmd = new String[1];
            cmd[0] = "c:\\hoge.cmd”


            Runtime rt = Runtime.getRuntime();


            rt.exec(cmd);
            Process proc = rt.exec(cmd);
                //結果が返ってくるまで待つ。
                int exitValue = proc.waitFor();
                if (exitValue == 0){
                 return true;
                }
        }
        catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
e.printStackTrace();
}




------------------------------------------------------------------------------------------

Runtimeのexecコマンドは別プロセスを生成して処理を実行するので、コマンドの結果をもとに処理を行う場合はこの方法を使う。



0 件のコメント:

コメントを投稿