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;
    在这里插入图片描述

    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    党报
    一个人只有敢于承担责任,才有可能被赋予更大的责任。做不
    勇于担当:好男人的三块责任田——
    关于担当
    领导干部要勇于担当
    福布斯专访阿里蔡崇信:马云的坚持和改变
    阿里股权
    ContentProvider
    搞笑段子
    报业
  • 原文地址:https://www.cnblogs.com/javayida/p/13346734.html
Copyright © 2011-2022 走看看