展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

Jdk7新特性try-with-resources

  • jdk7之前的操作
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掉
posted @ 2022-08-25 16:07  DogLeftover  阅读(15)  评论(0编辑  收藏  举报