从jdk1.7开始,java增强了try语句的功能,它允许在try关键字后面跟一对圆括号,圆括号可以声明,初始化一个或多个资源,这里的资源表示的是那些程序执行完毕之后需要关闭的资源,例如:(IO流,数据库连接,网络连接等),try语句在改语句结束的时候会自动的关闭这些资源。看代码
1 try ( FileInputStream fileInputStream = new FileInputStream(new File(""))) { 2 //TODO 3 } catch (FileNotFoundException e) { 4 e.printStackTrace(); 5 } catch (IOException e) { 6 e.printStackTrace(); 7 }
再也不用再finally里面去写关闭了
1 FileInputStream fileInputStream = null; 2 try { 3 fileInputStream = new FileInputStream(new File("")) 4 } catch (FileNotFoundException e) { 5 e.printStackTrace(); 6 } catch (IOException e) { 7 e.printStackTrace(); 8 } finally { 9 try { 10 fileInputStream.close(); 11 } catch (IOException e) { 12 e.printStackTrace(); 13 } 14 }