Book/Effective Java
[Book] ITEM 9) try-finally λμ try-with-resource λ₯Ό μ¬μ©νλΌ
kkkkkkkkkkkk
2022. 3. 19. 20:03
π€’ try-finally μ¬μ©
public String fileRead1(String file)throws IOException {
BufferedReader br = null;
try{
br = new BufferedReader(new FileReader(file));
return br.readLine();
} catch(Exception e) {
e.printStackTrace();
}finally{
br.close();
}
return file;
}
μμΈλ₯Ό μ‘λλ° μ¬λ¬μ€μ μ½λκ° μμ±λμμ΅λλ€. μ΄λ¬ν κ²½μ° μμΈκ° λ°μνλ©΄ μ€ν νΈλ μ΄μ€μ μΆμ μ΄ μ΄λ €μΈ κ²μ λλ€.
μ΄ λ°©λ²μ λμμ μ try-with-resource λ₯Ό μ¬μ©νλ κ²μ λλ€.
π€’ try-with-resource
public String fileRead2(String file)throws IOException {
try(BufferedReader br = new BufferedReader(new FileReader(file))) {
return br.readLine();
}
}
μ΄ λ°©λ²μ μμ λ°©λ² λ³΄λ€ μ€ν νΈλ μ΄μ€μ μΆμ μ΄ μ©μ΄ν΄μ§λ©° κ°κ²°ν μ½λλ‘ ννλκ³ μλμΌλ‘ μμμ λ°λ©ν μ μμ΄ μ΄λ°©λ²μ κΆμ₯νλ€.
νμ§λ§ Autocloseable μΈν°νμ΄μ€κ° ꡬνλ κ²μ μ¬μ©ν΄μΌ κ°λ₯ν λ¬Έλ²μ΄λ―λ‘ Autocloseableκ° κ΅¬νλμ΄ μλ νμΈνκ³ μ¬μ©νμ.