- 자바 라이브러리에는 close 메서드를 호출해 직접 닫아줘야 하는 자원들이 있다.
- try-with-resources를 쓰면 AutoCloseable 또는 Closeable 인터페이스를 구현한 자원 객체들을 사용 후, 자동으로 close 하게 할 수 있다.
예시
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class TryWithResourcesExample {
public static void main(String[] args) {
// 파일 경로 지정
String filePath = "example.txt";
// try-with-resources를 사용하여 BufferedReader 생성
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
// 파일에서 한 줄씩 읽어오기
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
// IOException 처리
e.printStackTrace();
}
// try-with-resources를 사용하면, 자동으로 close() 메서드가 호출되어 파일 리소스가 닫힘
}
}
'이펙티브 자바 > 2장 객체 생성과 파괴' 카테고리의 다른 글
아이템 8 finalizer와 cleaner 사용을 피하라 (0) | 2023.12.19 |
---|---|
아이템 7 다 쓴 객체 참조를 해제하라 (1) | 2023.12.18 |
아이템 6 불필요한 객체 생성을 피하라 (0) | 2023.12.18 |
아이템 5 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 (0) | 2023.12.18 |
아이템 4 인스턴스화를 막으려거든 private 생성자를 사용하라 (0) | 2023.12.18 |