官网介绍: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
Java 1.7 之后添加了 AutoCloseable 接口,便于资源(文件流,数据库连接等)的自动关闭。
Jdk1.7之前关闭资源
package com.java.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
public class ResCloseTest {
public static void main(String[] args) {
InputStream in= null;
try {
in= new FileInputStream("hello.txt");
in.read("123".getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {//finally块确保资源关闭
if(in !=null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Jdk1.7之后关闭
public void test1(){
try(InputStream in = new FileInputStream("hello.txt")){
int i = in.read();
System.out.println(i);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}