[JAVA] 자동리소스 닫기

2018. 8. 2. 15:52JAVA

JAVA 7 버전이후 부터 추가된 항목으로

java.lang.AutoCloseable 사용한 객체들은 close() 없이 자동을 안전하게 리소스를 닫아 준다.


예를 들어 poi의 XSSFWorkbook 의 경우

JAVA 6에서는 


XSSFWorkbook workbook = null;

try {

workbook = XSSFWorkbook(upFileStream);

...

} finally {

workbook.close();

}


이렇게 객체를 해제해 줘야 했으나 JAVA 7부터는


XSSFWorkbook workbook = null;

try {

workbook = XSSFWorkbook(upFileStream);

...

} finally {

}


Close 없이 자동 해제됩니다.


XSSFWorkbook API를 보면


org.apache.poi.xssf.usermodel

Class XSSFWorkbook

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Iterable<Sheet>, Workbook

저 부분이 보일겁니다~


'JAVA' 카테고리의 다른 글

PNG 이미지 배경 투명하게 처리  (0) 2020.02.03
[JAVA] LIST형 Remove 하기  (1) 2019.04.16
[JAVA] URLConnection HTTPS 처리  (1) 2019.03.14
JSON 사용하기  (0) 2013.06.21