Java 7 新的 try-with-resources 语句,自动资源释放
来源:互联网 发布:黑马手机安全卫士源码 编辑:程序博客网 时间:2024/06/05 04:13
从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理。
新的语句支持包括流以及任何可关闭的资源,例如,一般我们会编写如下代码来释放资源:
- private static void customBufferStreamCopy(File source, File target) {
- InputStream fis = null;
- OutputStream fos = null;
- try {
- fis = new FileInputStream(source);
- fos = new FileOutputStream(target);
- byte[] buf = new byte[8192];
- int i;
- while ((i = fis.read(buf)) != -1) {
- fos.write(buf, 0, i);
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- } finally {
- close(fis);
- close(fos);
- }
- }
- private static void close(Closeable closable) {
- if (closable != null) {
- try {
- closable.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
代码挺复杂的,异常的管理很麻烦。
而使用 try-with-resources 语句来简化代码如下:在try中初始化, try 执行完毕后自动被关闭
private static void customBufferStreamCopy(File source, File target) {try (InputStream fis = new FileInputStream(source);
OutputStream fos = new FileOutputStream(target)){
byte[] buf = new byte[8192];
int i;
while ((i = fis.read(buf)) != -1) {
fos.write(buf, 0, i);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
代码清晰很多吧?在这个例子中,数据流会在 try 执行完毕后自动被关闭,前提是,这些可关闭的资源必须实现 java.lang.AutoCloseable 接口。
0 0
- Java 7 新的 try-with-resources 语句,自动资源释放 try(){} catch(){}
- Java 7 新的 try-with-resources 语句,自动资源释放
- Java 7 新的 try-with-resources 语句,自动资源释放
- Java 7 新的 try-with-resources 语句,自动资源释放
- Java 7 新的 try-with-resources 语句,自动资源释放
- Java 7 新的 try-with-resources 语句,自动资源释放
- Java 7 新的 try-with-resources 语句,自动资源释放
- Java 7 新的 try-with-resources 语句,自动资源释放
- Java7新的try-with-resources语句,自动资源释放
- try-with-resources 语句,自动资源释放
- Java 7 try-with-resources 语句,自动资源释放,提高容错率!
- 使用try-with-resources自动释放资源
- try-with-resources资源自动释放特性
- JAVA中的 try( ){ } ==== 》 try-with-resources 资源自动释放
- JAVA中的 try( ){ } ==== 》 try-with-resources 资源自动释放
- Java SE 7 中带资源声明的 try 语句(try-with-resources statement)
- Java 7 新特性try-with-resources语句
- Java 7 try-with-resources自动关闭资源
- 使用String.intern减少内存使用
- 黑马程序员—【Java高新技术】之内省、注解、类加载器
- 字符串转为整数(阿里一面测试开发岗题目)
- POJ 2151 Check the difficulty of problems dp
- Generate PDF from Batch Class and schedule class and send email notification with Pdf attachment
- Java 7 新的 try-with-resources 语句,自动资源释放
- #job 25
- Git学习笔记
- 分布式系统系列(一)---EJB
- 【算法导论】 堆排序
- 黑马程序员——File类的概述
- Java网络编程技术
- 利用SharedPreference实现数据存储
- 编程之美2.19—区间重合判断