在开发过程中我们会经常使用到 try catch
来捕获异常,但是有些资源是需要我们在使用结束后在finally
中进行关闭的,如果需要关闭的资源太多的话,代码看起来就会特别的多,臃肿?
所以在jdk1.7之后加入了一个新的特性
在try
后加一个()
将我们需要关闭资源的代码写在里面,那么java就会在资源使用完毕之后自动加上一个finally
对资源进行关闭,当然前提是他必须有close
public static void main(String[] args) {
InputStream inputStream=null;
try {
inputStream= new FileInputStream("test");
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
上面的代码就可以写成下面这样的
public static void main(String[] args) {
try (
InputStream inputStream = new FileInputStream("test");
) {
} catch (IOException e) {
e.printStackTrace();
}
}
是不是方便了很多
网友评论