转载:https://www.cnblogs.com/coder-zyc/p/10364528.html
通常我们使用try…catch()捕获异常的,如果遇到类似IO流的处理,要在finally部分关闭IO流,当然这个是JDK1.7之前的写法了;在JDK7优化后的try-with-resource语句,该语句确保了每个资源,在语句结束时关闭。所谓的资源是指在程序完成后,必须关闭的流对象。写在()里面的流对象对应的类都实现了自动关闭接口AutoCloseable;
格式:
try (创建流对象语句,如果多个,使用';'隔开) {
// 读写数据
} catch (IOException e) {
e.printStackTrace();
}
JDK1.7之前
FileWriter fw = null;
try {
fw = new FileWriter("test\\test.txt");
fw.write("test");
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (fw != null) {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
JDK1.7之后
try(FileWriter fw = new FileWriter("test.txt")) {
fw.write("test");
} catch(Exception ex) {
ex.printStackTrace();
}
本文介绍了Java 7引入的try-with-resources语句,它简化了资源管理,尤其是IO流操作。通过对比JDK1.7前后处理文件流的方式,展示了新特性如何自动关闭资源,避免了手动关闭可能导致的遗漏。

被折叠的 条评论
为什么被折叠?



