- - PR -
Runtime#exec()と標準出力/エラーについて
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-05-31 08:41
こんにちは、POTETOです。
JDK1.3の環境です。 少し長くなりますがすいません。 Javaから外部プログラム(OSコマンドなど)を呼び出したい場合に、 Runtime#exec()を使うと思うのですが、ネットで調べたところ 標準出力/エラーのバッファが少ないのでそれぞれ別スレッドで 読み出す必要があるとありました。そこで以下のようなつくりにしたのですが、 (1)Processオブジェクトから取得したInputStreamを読み出しのスレッド側で クローズして良いものでしょうか。 (2)Processオブジェクトが処理終了時点でInputStreamはクローズされてしまい、 読み出しのスレッドでクローズするときに例外が発生する可能性はあるのでしょうか? 実行すると特にエラーもなく動いているようです。(printlnの出力より判断) どなたかご教授のほどよろしくお願いいたします。 因みに、以下のコードは実行時の引数をコマンドとして実行するものです。 ----- ここからコード-------
| ||||
|
投稿日時: 2004-06-01 20:24
私はAntの中のソースを参考にしました。ここら辺です。
org.apache.tools.ant.taskdefs.ExecuteStreamHandler org.apache.tools.ant.taskdefs.StreamPumper | ||||
1
