AutoCloseable 인터페이스를 구현한 자원은 try-with-resources를 사용하면 자동으로 닫힌다.
try-with-resources를 사용하면 코드가 더 짧고 분명하다.
만들어지는 예외 정보도 훨씬 유용하다.
가장 마지막에 발생된 예외만 보이는 문제가 해결되고, 모든 예외를 볼 수 있다.
처음 발견된 예외 스택 추적 내역에 하나씩 추가된다.
예시
//자원이 둘 이상일 때//try-finallyInputStreamin=newFileInputStream(src);try{OutputStreamout=newFileOUtputStream(dst);try{byte[]buf=newbyte[BUFFER_SIZE];intn;while((n=in.read(buf))>=0)out.write(buf,0,n);}finally{out.close();}}finally{in.close();}//try-with-resourcestry(InputStreamin=newFileInputStream(src);OutputStreamout=newFileOUtputStream(dst)){byte[]buf=newbyte[BUFFER_SIZE];intn;while((n=in.read(buf))>=0)out.write(buf,0,n);}