ブログを書こうと思ったときくらいしかブログを見ないので、ブログ宛にメールが来ていても気付くのが遅れます(ごめんなさい)。そもそも滅多にメール来ないしなー。
というところで、「ProcessのページでBufferedReaderをクローズしてない」という指摘を受けて、びっくり。改めて見てみると、ホントだー?!
てなワケで、クローズしなくてもいい理由を必死に調査・考えた(爆)
最初はProcess#waitFor()辺りでクローズしてないかなーと思ったが、waitFor()を呼んだ後でもストリームを取得できるので、やってる訳が無い。
その後で呼べるProcessのメソッドは無いしなー。
結論を言うと、自分が取得していない隠れたストリームも含めてファイナライザーでクローズされるので、よほどGCが動かない状態でなければ問題は無いんじゃないかなーと思う。
(調べたのはWindows版のJDK1.6と1.4だが、たぶん他でも同じだと期待する)
ただまぁ、自分で取得した分くらいはクローズすべきではあると思うので、ウェブページのサンプルにはクローズ処理を軒並み追加した。
…ふう、もっと大ごとになるかと思った。危ない危ない^^;
※コメント投稿者のブログIDはブログ作成者のみに通知されます