【5】読み書きでfinallyを使う際の注意点 ファイルデータを読み書きをする処理では、入力ストリーム「in」と出力ストリーム「out」を用意して、データを読み込みながら書き込みをするといったことをしたいときがあります。このとき、finallyで次のように2つのリソースについてcloseするようなことをしがちなので、気を付けましょう。 この場合、せっかくfinallyでinとoutの両方のリソースを解放しようとしていますが、「in.close();」でエラーが発生すると、「out.close();」が実行されないので、out関係のリソースについては解放されずにメモリリークなどの原因となります。 対応方法は「変数へ全部のデータを一時的に保存してから、書き込みをする」とか、「リソースを確保した順と逆順に確実にfinallyでリソースを解放する」ということになります。 変数へ全部のデータを一時的