zoukankan      html  css  js  c++  java
  • try(){}的简单理解

    以前使用try catch-finally都是捕获异常,然后流关闭等等,代码总是这样的:好比往FileOutputStream写东西:

    @Test
      public void test2() throws IOException {
        File file = new File("E://test");
        if (!file.exists()) {
          file.createNewFile();
        }
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        try {
          System.out.println("do something...");
          fileOutputStream.write("aaa".getBytes());
          fileOutputStream.flush();
        } catch (Exception e) {
          System.out.println("do ...");
        } finally {
          fileOutputStream.close();
        }
      }
    

    这样写很难受,可以进行优化,将FileOutputStream fileOutputStream = new FileOutputStream(file)放到try()里面,也可以放多个,

      @Test
      public void test2() throws IOException {
        File file = new File("E://test");
        if (!file.exists()) {
          file.createNewFile();
        }
       
        try( FileOutputStream fileOutputStream = new FileOutputStream(file);) {
          System.out.println("do something...");
          fileOutputStream.write("aaa".getBytes());
          fileOutputStream.flush();
        } catch (Exception e) {
          System.out.println("do ...");
        } 
      }
    

    try()里每个声明的变量类型都必须是Closeable的子类,就一个close方法;相当于系统自动将关闭操作放到了finally里面而不需要我们自己写了,很nice;
    在这里插入图片描述

    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    人月神话阅读笔记(三)
    MongoDB设置用户名以及密码
    pdf.js使用总结#如何在网页读取并显示PDF格式文档
    Python中eval函数的作用
    寒假学习笔记(13)
    寒假学习笔记(12)
    寒假学习笔记(11)
    寒假学习笔记(10)
    寒假学习笔记(9)
    寒假学习笔记(8)
  • 原文地址:https://www.cnblogs.com/javayida/p/13346734.html
Copyright © 2011-2022 走看看