try-with-resources文(try~chatchにおけるリソース解放処理の効率的な書き方)
Java SE 7 よりtry~chatchにおけるリソース解放処理を簡素に記述できるようになった。
<try-with-resources文を使わない場合>
FileInputStream fs = null;
try {
fs = new FileInputStream(filePath);
(ファイル処理)
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fs != null) {
try {
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
<try-with-resources文を使う場合>
try ( FileInputStream fs = new FileInputStream(filePath); ) {
(ファイル処理)
} catch (IOException e) {
e.printStackTrace();
}
※try()の括弧中で生成したリソースについては、処理終了時、結果にかかわらずcloseされる。
※try-with-resources文が利用できるクラスは、AutoCloseableインタフェースおよびそのサブインタフェースであるCloseableインタフェースの実装クラスに限られる。