JDK 7のtry-with-resourcesの例
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]