[JAVA] try-with-resources의 활용

JAVA 7부터 try-with-resources문이 도입되었습니다. try-with-resources를 이용하여 자원을 관리하고 해제하는데 사용되는 코드들이 간소화되었습니다. 자원을 사용한 후 자동으로 닫히도록 하여 메모리 누수와 관련된 문제를 방지해줍니다.

 

try-with-resources 구조

try (자원 초기화) {
    // 자원 사용
} catch (예외 클래스 e) {
    // 예외 처리
}

자원 초기화에 사용된 객체들에 대해서 try가 종료될 때 자동으로 close() 메서드를 호출하여 자원을 해제해줍니다. 해당 객체는 Autocloseable 인터페이스를 구현한 클래스의 인스턴스입니다.

 

try-with-resources 예제

// 다중 자원 사용 가능
try (FileReader reader = new FileReader("file.txt");
	BufferedReader bufferedReader = new BufferedReader(reader)) {
    String line;
    while ((line = bufferedReader.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    System.out.println(e.getMessage());
}