try-with-resource


Java SE7 이후에 등장한 try-with-resource라는 문법으로  
개발자가 직접 Finally문을 작성하여 close() 메소드를 호출해주지 않아도  
try 블록이 종료될 때 자동으로 close() 메소드를 호출해준다.(자동 자원 해제 )  


단,try에 전달할 수 있는 자원은 AutoCloseable 인터페이스를 구현한 클래스만 해당된다.

try 블록에 괄호()를 추가하여 파일을 열거나 자원을 할당하는 명령문을 명시하면,   
해당 try 블록이 끝나자마자 자동으로 파일을 닫거나 할당된 자원을 해제해 준다.

try ( 파일을 열거나 자원을 할당하는 명령문 ) {
     ...
}



* 사용 예 

  try (FileWriter file = new FileWriter("data.txt")) { 
            file.write("Hello World");
        } catch (IOException e) {
            e.printStackTrace();
        }



* 괄호 안에 IO객체 문장을 두개 이상 넣어 줄 수도 있다.  

 

이 때는 세미콜론으로 각 문장을 구분한다.

try (BufferedReader reader = new BufferedReader(new FileReader("source.txt"));
     BufferedWriter writer = new BufferedWriter(new FileWriter("destination.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                  writer.write(line);
                  writer.newLine(); // 새로운 줄 추가
             }
 }catch (IOException e) {
     System.err.println("파일 처리 중 오류 발생: " + e.getMessage());
 }

'업무중필요모음 > Snippet' 카테고리의 다른 글

[JAVA] - GSON  (0) 2024.08.12
[JAVA] - JsonObject  (0) 2024.08.12
[JAVA] - JSON  (0) 2024.08.12
[JAVA] - RestTemplete  (0) 2024.08.12
[JS] - 버튼 카운트 하기  (0) 2024.08.12

+ Recent posts