English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 동작 대상(I)

Java 동작 대상(II)

Java 동작 대상(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 9 개선된 try-with-resources

Java 9 새로운 기능

try-with-resources는 JDK에서 7 에서 새로운 예외 처리 기구를 제공합니다. try 문에서 닫히는 것을 쉽게 할 수 있습니다.-catch 블록에서 사용하는 리소스.-with-resources 문은 각 리소스가 문이 끝날 때마다 닫히도록 보장합니다. java.lang.AutoCloseable 인터페이스를 구현한 모든 객체(그 중에는 java.io.Closeable을 구현한 모든 객체가 포함됩니다)는 리소스로 사용할 수 있습니다.

try-with-resources는 JDK에서 9 resources 문에서는 final 또는 final과 동등한 변수가 있는 경우, try 문에서 사용할 수 있습니다.-with-resources 문에서 해당 변수를 사용하면 try 문에서는 그 변수를 선언할 필요가 없습니다.-with-resources 문에서 새로운 변수를 선언합니다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
 
public class Tester {
   public static void main(String[] args) throws IOException {
      System.out.println(readData("test"));
   } 
   static String readData(String message) throws IOException {
      Reader inputString = new StringReader(message);
      BufferedReader br = new BufferedReader(inputString);
      try (BufferedReader br1 = br) {
         return br1.readLine();
      }
   }
}

출력 결과는 다음과 같습니다:

test

위 예제에서는 try 블록에서 리소스 br를 선언해야 합니다.1그런 다음 사용할 수 있습니다.

Java에서 9 에서는 리소스 br를 선언할 필요가 없습니다.1 그리고 같은 결과를 얻을 수 있습니다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
 
public class Tester {
   public static void main(String[] args) throws IOException {
      System.out.println(readData("test"));
   } 
   static String readData(String message) throws IOException {
      Reader inputString = new StringReader(message);
      BufferedReader br = new BufferedReader(inputString);
      try (br) {
         return br.readLine();
      }
   }
}

실행 출력 결과는 다음과 같습니다:

test

처리해야 하는 자원을 닫을 때 try-with-resources 문은 try-finally 문. 생성된 코드는 더 간결하고 명확하며, 생성된 예외가 더 유용합니다. try-with-resources 문은 자원을 닫아야 하는 코드를 작성할 때 더 쉽고, 오류 없이 사용할 수 있으며, try-finally 문은 실제로 불가능합니다.

Java 9 새로운 기능