質問: fis.read(); fis.close(); } catch (java.io.IOException e) { e.printStackTrace(); } IOExceptionで引っかかったときにはファイルはクローズされずにメモリリークすることになりますか?
回答: > > IOExceptionで引っかかったときにはファイルはクローズされずにメモリリークすることになりますか? > > > クローズされません。 try-with-resource文を利用します(java7以降) ``` try (FileInputStream fis = new FileInputStream(file)){ data = fis.read(); } catch (java.io.IOException e) { e.printStackTrace(); } ``` java6以前でしたら、finallyブロックを利用します。 ``` FileInputStream fis = new FileInputStream(file) try{ data = fis.read(); } catch (java.io.IOException e) { e.printStackTrace(); } finally{ fis.close(); } ```