JAVA/포스팅

자바 try-with-resources문

짜집퍼박사(짜박) 2023. 11. 15. 13:18

try-with-resources 문은 자바 7부터 도입된 기능으로, 리소스 관리를 간편하게 처리할 수 있도록 도와줍니다. 주로 I/O 작업과 같이 명시적으로 닫아주어야 하는 리소스를 사용할 때 유용합니다.

try-with-resources 문을 사용하면 AutoCloseable 인터페이스를 구현한 객체를 try 블록 안에서 사용하고, try 블록이 종료될 때 자동으로 close() 메서드가 호출됩니다.

다음은 try-with-resources 문의 기본 구문입니다.

try (ResourceType1 resource1 = new ResourceType1();
     ResourceType2 resource2 = new ResourceType2();
     // ... 추가 리소스 타입 및 객체들) {
    // 리소스 사용 코드
} catch (ExceptionType e) {
    // 예외 처리 코드
}

ResourceType1, ResourceType2 등은 AutoCloseable 또는 Closeable 인터페이스를 구현한 클래스의 인스턴스여야 합니다.
try 블록을 벗어날 때 자동으로 close() 메서드가 호출되므로 명시적으로 finally 블록이나 리소스 해제 코드를 작성하지 않아도 됩니다.
예를 들어, 파일 리소스를 사용하는 경우를 살펴봅시다.

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileProcessor {
    public String readFromFile(String filePath) {
        // try-with-resources 문 사용
        try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
            // 파일에서 데이터 읽는 작업 수행
            // ...
        } catch (IOException e) {
            // IOException 처리 코드
            e.printStackTrace();
        }
    }
}

위의 코드에서 BufferedReader는 AutoCloseable 인터페이스를 구현하고 있으므로, try-with-resources 문을 사용하여 파일을 열고 읽는 작업을 수행합니다. try 블록이 끝나면 BufferedReader는 자동으로 close() 메서드가 호출되어 파일 리소스를 안전하게 닫아줍니다.

try-with-resources 문을 사용하면 코드가 간결해지고 리소스 관리가 효과적으로 이루어집니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 예외 되던지기  (0) 2023.11.15
사용자정의 예외  (0) 2023.11.15
자바 finally블럭  (0) 2023.11.14
자바 메서드에 예외 선언하기  (0) 2023.11.14
자바 예외 발생시키기  (0) 2023.11.14