JAVA中,JVM的垃圾回收机制可以对外部资源实现自动回收,但是JVM对外部资源(调用了底层操作系统的资源)的引用却无法自动回收,例如数据库连接,网络连接以及输入输出 IO流等,这
JAVA中,JVM的垃圾回收机制可以对外部资源实现自动回收,但是JVM对外部资源(调用了底层操作系统的资源)的引用却无法自动回收,例如数据库连接,网络连接以及输入输出 IO流等,这些连接就需要我们动手去关闭,不然会导致外部资源泄露,连接池溢出以及文件被占用等,
Java jdk7以后,新增了“try-with-resource",它可以自动关闭实现了AutoClosable接口的类,实现方法需要实现close()方法。“try-with-resource声明”,将try-catch-finally 简化为 try-catch,但是在编译时任然会进行try-catch-finally语句
package com.yqq.app11;import java.io.FileReader;
/**
* @Author yqq
* @Date 2021/11/21 21:19
* @Version 1.0
*/
public class Test07 {
public static void main(String[] args) {
try(FileReader wr = new FileReader("d:/aa.txt");) {
StringBuilder sb = new StringBuilder();
int temp = -1;
char line = ' ';
while ((temp = wr.read())!=-1){
line = (char) temp;
sb.append(line);
}
System.out.println(sb.toString());
}catch (Exception e){
e.printStackTrace();
}
}
}