프로그래밍/Back end
[Back end] Java try-with-resources
Reference M1
2021. 2. 8. 17:53
Java 7 이후부터 리소스가 닫히도록 보장하는 try-with-resources 문을 도입했다. 이 구문은 try catch finally 보다 선호되어야 한다.
Noncompliant Code Example
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader(fileName);
br = new BufferedReader(fr);
return br.readLine();
} catch (...) {
} finally {
if (br != null) {
try {
br.close();
} catch(IOException e){...}
}
if (fr != null ) {
try {
br.close();
} catch(IOException e){...}
}
}
Compliant Solution
try (
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr)
) {
return br.readLine();
}
catch (...) {}
// or
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
return br.readLine();
}
catch (...) {}