1.7 버전부터 finally - close 부분의 비효율성을 개선
try ~ resource 지원, 자동 닫힘 지원 : try (객체 생성){} 시 try 문을 벗어난 후 자동으로 close 됨
조건 : 사용하는 클래스가 AutoCloseable을 상속해야 한다.
: IO의 클래스는 전부 AutoClosable을 상속받은 상태임
소스
class MyClose implements AutoCloseable {
public void close() throws Exception {
System.out.println("MyClose 호출 테스트");
}
}
public static void main(String[] args) {
try (
MyClose mc = new MyClose(); // AutoCloseable 클래스를 상속받지 않을 경우 오류 발생
FileReader fr = new FileReader("data/lec13/Test01.java");
FileWriter fw = new FileWriter("data/lec13/Test01Cp.java");
) {
System.out.println("try 블럭 실행함...");
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("try 블럭 밖...");
}
결과
try 블럭 실행함...
MyClose 호출 테스트
try 블럭 밖...
Java - URL 정보 확인, URLConnection (0) | 2018.10.02 |
---|---|
Java - InetAddress (0) | 2018.10.02 |
Java - IO, PrintWriter 사용 (0) | 2018.10.02 |
Java - IO, File 클래스를 이용한 파일 복사 (0) | 2018.10.02 |
Java - IO, InputStream, OutputStream (0) | 2018.10.02 |
댓글 영역