第17回 プロセスの実行
今回はプロセスの実行を行います。
プロセスの実行とは簡単に言えばネイティブな他のプログラム(exe等)を呼び出すことです。
今回はWindowsの計算機をJavaから実行するサンプルです。
サンプルは単純ですが、Javaからネイティブなプログラムを実行できると非常に便利です。
Linuxのシェル、Dosのバッチファイル、JScriptまで実行できます。
getOutputStream()メソッドで出力を受け取ることもできます。
以下のサンプルは計算機の終了を待ちません。
public class Calc { public static void main(String[] args) { Process proc = null; try { proc = Runtime.getRuntime().exec("calc"); System.out.println("計算機の終了は待ちません。"); } catch (Exception e) { e.printStackTrace(); } } }
以下のサンプルは計算機の終了を待ちます。
バッチ処理などの順番が影響する処理を行うのに向いています。
public class Calc { public static void main(String[] args) { Process proc = null; try { proc = Runtime.getRuntime().exec("calc"); proc.waitFor(); System.out.println("計算機の終了を待ちました。"); } catch (Exception e) { e.printStackTrace(); } } }
GCJを使うとJavaでもネイティブコードに変換できちゃうぞ!!
今日は真面目なコメント…..。