try-with-resources
AutoCloseable
인터페이스를 구현하는 리소스를 자동으로 닫는 데 사용되는 Java 7에 도입된 구문입니다 . 코드에서 리소스를 닫는 작업을 단순화하고 리소스가 올바르게 해제되도록 보장하며 메모리 누수를 방지할 수 있습니다.
사용 구문은 try-with-resources
다음과 같습니다.
try (资源的声明和初始化) {
// 使用资源进行操作
} catch (异常类型 变量名) {
// 异常处理
}
try
닫아야 할 리소스 개체를 뒤에 괄호 안에 선언하고 초기화합니다 . 리소스 개체는 리소스를 닫는 방법을 AutoCloseable
정의하는 인터페이스를 구현해야 합니다.close()
리소스 사용 시 예외 발생 여부에 관계없이 리소스 해제를 보장하기 위해 리소스를 닫는 메서드가 try-with-resources
자동으로 호출됩니다 .close()
샘플 코드:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
// 异常处理
}
위의 예에서는 try-with-resources
파일이 열리고 BufferedReader
개체가 생성된 다음 해당 개체를 사용하여 파일 내용을 읽습니다. 예외 발생 여부에 관계없이 블록 종료 후 수동 호출 없이 자동으로 BufferedReader
닫힙니다 .try
br.close()
을 사용하면 try-with-resources
코드의 가독성과 단순성이 향상되고 지루한 오류 처리 작업이 줄어듭니다. 동시에 사용 후 리소스가 제대로 닫히도록 보장하여 리소스 누출 문제를 방지합니다.