public static void main(String[] args) throws IOException {
String path = "/Users/jack/Desktop/t.txt";
test(path);
}
private static void test(String filepath) throws FileNotFoundException {
OutputStream out = new FileOutputStream(filepath);
try {
out.write((filepath+"可以学习java架构课程").getBytes());
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- 使用try-with-resources,自动关闭
public class Main {
public static void main(String[] args) throws Exception {
String path = "/Users/xdclass/Desktop/t.txt";
test(path);
}
private static void test(String filepath) {
try(OutputStream out = new FileOutputStream(filepath);) {
out.write((filepath+"可以学习java架构课程").getBytes());
}catch (Exception e){
e.printStackTrace();
}
}
}
1、实现了AutoCloseable接⼝的类,在try()⾥声明该类实例的时候,try结束后⾃动调⽤的close⽅法,这个动作会早于finally⾥调⽤的⽅法
2、不管是否出现异常,try()⾥的实例都会被调⽤close⽅法
3、try⾥⾯可以声明多个⾃动关闭的对象,越早声明的对象,会越晚被close掉