try( InputStream is = new FileInputStream(path); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); ){ for(int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++){ XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
try with resource
自动关闭括号里面的流,不用手动关闭
不用finally来关闭资源,
所有实现Closeable的类声明都可以写在里面,
最常见于流操作,socket操作,
新版的httpclient也可以;
需要注意的是,try()的括号中可以写多行声明,
每个声明的变量类型都必须是Closeable的子类,
用分号隔开