JavaからLinuxプロセスを呼び出す
2009/07/03 18:10Update
LinuxやWindowsなどのOSの外部プロセスをJavaから呼び出すことができます。本文はその呼び出し方について解説します。
簡単なサンプルから説明したいと思います。
JDK1.4前のバージョン
JDK1.5以降のバージョン
JDK1.4前のバージョン
String command = "javac –cp . *.java"; //外部プロセス
//String []command = {"javac", "–cp .", "*.java"};
Process process = Runtime.getRuntime().exec(command); //コマンド実行(プロセス取得)
InputStream is = process.getInputStream(); //実行されたプロセスからInputStream(入力ストリーム)取得
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println("javac>" + line); //実行結果をInputStreamから取得
}
//TODO is.close();
int ret = process.waitFor();
JDK1.5以降のバージョン
String command = "javac –cp . *.java"; //外部プロセス
ProcessBuilder pb = new ProcessBuilder(command); //ProcessBuilder構築
//ProcessBuilder pb = new ProcessBuilder("javac", "–cp . ", "*.java");
Process process = pb.start(); //プロセス実行
InputStream is = process.getInputStream(); //実行されたプロセスからInputStream(入力ストリーム)取得
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println("javac>" + line); //実行結果をInputStreamから取得
}
//TODO is.close();
int ret = process.waitFor();
Sponsored Link
Comments
- Relative Articles
- Java開発及び実行環境の構築 | Linux篇 - (2008/08/31 20:34)
- Java開発及び実行環境の構築 | Windows篇 - (2008/08/31 21:18)
- 5分でJava Hello World! - (2008/08/31 22:13)
- Java言語の制御構文 - 条件分岐if/else/else if - (2008/10/01 21:30)
- Java言語の繰り返し制御構文 - for文 - (2008/10/03 18:22)
- Java言語の繰り返し制御構文 - do ... while文 - (2008/10/03 21:23)
- Java言語の繰り返し制御構文 - while文 - (2008/10/03 21:32)
- Java言語の基礎 - javacコマンドによるコンパイル - (2008/10/10 17:58)
- Java アクセス修飾子概要 - (2008/10/29 18:31)
- Javaアノテーション機能 概要 - (2009/02/12 13:06)