Javaでは、通常、tryブロック内でファイルを開き、finallyブロック内のファイルを閉じます。以下を参照してください。
try{ //open file or resources }catch(IOException){ //handle exception }finally{ //close file or resources }
JDK 7以降、新しい ”
try-with-resources
“アプローチが導入されました。 tryブロックが終了すると、開かれたファイルを自動的に閉じたり解放したりします。
try(open file or resource here){ //... }//after try block, file will close automatically.
pre-JDK7`と
JDK7`の2つの読み込みファイルの例を参照してください。
1. JDK 6またはそれ以前のバージョン
ファイルを読むための古典的な方法。
package com.mkyong.io; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Example1 { public static void main(String[]args) { BufferedReader br = null; try { String line; br = new BufferedReader(new FileReader("C:\\testing.txt")); while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (br != null)br.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }
2. JDK 7
JDK7では、 `finally`はもう必要なくなりました。ファイルはtryブロック後に自動的に閉じられます。
package com.mkyong.io; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Example2 { public static void main(String[]args) { try (BufferedReader br = new BufferedReader(new FileReader("C:\\testing.txt"))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }
リファレンス
try-with-resourcesステートメント]
リンク://タグ/java/[java]リンク://タグ/java7/[java7]リンク://タグ/jdk7/[jdk7]