欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用 try-with-resources 實(shí)現(xiàn)自動(dòng)關(guān)閉資源的方法

 更新時(shí)間:2020年06月17日 11:05:49   作者:C、空白格  
這篇文章主要介紹了Java使用 try-with-resources 實(shí)現(xiàn)自動(dòng)關(guān)閉資源的方法,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1、 在Java1.7之前,我們需要通過(guò)下面這種方法, 在finally中釋放資源,這種方法有點(diǎn)繁瑣。

 BufferedReader br = null;
    String str;
    try {
      br = new BufferedReader(new FileReader(""));
      while ((str = br.readLine()) != null) {
        System.out.println(str);
      }
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (br != null) {
        try {
          br.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }

2、在java1.7之后,可以使用try-with-resources實(shí)現(xiàn)自動(dòng)關(guān)閉資源

try (BufferedReader br = new BufferedReader(new FileReader(""))) {
      while ((str = br.readLine()) != null) {
        System.out.println(str);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }

這樣看上去,是不是感覺(jué)代碼干凈了許多,當(dāng)程序運(yùn)行完離開(kāi)try語(yǔ)句塊時(shí),( )里的資源就會(huì)被自動(dòng)關(guān)閉。

但是try-with-resources還有幾個(gè)關(guān)鍵點(diǎn)要記?。?br />

①、try()里面的類(lèi),必須實(shí)現(xiàn)了AutoCloseable接口。
②、在try()代碼中聲明的資源被隱式聲明為fianl。
③、使用分號(hào)分隔,可以聲明多個(gè)資源。

3、自定義類(lèi)并實(shí)現(xiàn)AutoCloseable接口

class TestAutoClosable implements AutoCloseable {

  @Override
  public void close() throws Exception {
    System.out.println("close");
  }

  public void test() {
    System.out.println("test");
  }
  
}

接下來(lái)我們測(cè)試下,我們寫(xiě)得自定義類(lèi)

 try (BufferedReader br = new BufferedReader(new FileReader("E:/test.txt"));
       TestAutoClosable testAutoClosable = new TestAutoClosable()) {
      testAutoClosable.test();
    } catch (Exception e) {
      e.printStackTrace();
    }

當(dāng)調(diào)用testAutoClosable.test()方法時(shí),下面是控制臺(tái)打印的:

test
close

可以看到資源被成功關(guān)閉。

到此這篇關(guān)于Java使用 try-with-resources 實(shí)現(xiàn)自動(dòng)關(guān)閉資源的方法的文章就介紹到這了,更多相關(guān)java 自動(dòng)關(guān)閉資源內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis-plus條件構(gòu)造器的操作代碼

    mybatis-plus條件構(gòu)造器的操作代碼

    mybatis-plus提供了AbstractWrapper抽象類(lèi),提供了很多sql語(yǔ)法支持的方法,比如模糊查詢(xún),比較,區(qū)間,分組查詢(xún),排序,判斷空,子查詢(xún)等等,方便我們用面向?qū)ο蟮姆绞饺?shí)現(xiàn)sql語(yǔ)句,本文重點(diǎn)給大家介紹mybatis-plus條件構(gòu)造器的操作代碼,感興趣的朋友一起看看吧
    2022-03-03
  • ???????Java公平鎖和非公平鎖的區(qū)別

    ???????Java公平鎖和非公平鎖的區(qū)別

    本文介紹???????Java公平鎖和非公平鎖區(qū)別,公平鎖是每個(gè)線程獲取鎖順序是按照線程訪問(wèn)鎖的先后順序獲取的,最前面的線程總是最先獲取到鎖;而非公平鎖是每個(gè)線程獲取鎖的順序是隨機(jī)的,并不會(huì)遵循先來(lái)先得的規(guī)則,所有線程會(huì)競(jìng)爭(zhēng)獲取鎖,下文內(nèi)容需要的朋友可以參考下
    2022-05-05
  • springboot中websocket簡(jiǎn)單實(shí)現(xiàn)

    springboot中websocket簡(jiǎn)單實(shí)現(xiàn)

    本文主要介紹了springboot中websocket簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Java 詳解單向加密--MD5、SHA和HMAC及簡(jiǎn)單實(shí)現(xiàn)實(shí)例

    Java 詳解單向加密--MD5、SHA和HMAC及簡(jiǎn)單實(shí)現(xiàn)實(shí)例

    這篇文章主要介紹了Java 詳解單向加密--MD5、SHA和HMAC及簡(jiǎn)單實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 如何擴(kuò)展Spring Cache實(shí)現(xiàn)支持多級(jí)緩存

    如何擴(kuò)展Spring Cache實(shí)現(xiàn)支持多級(jí)緩存

    這篇文章主要介紹了如何擴(kuò)展Spring Cache實(shí)現(xiàn)支持多級(jí)緩存,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • java8中Stream的使用示例教程

    java8中Stream的使用示例教程

    Stream是Java8的一大亮點(diǎn),是對(duì)容器對(duì)象功能的增強(qiáng),下面這篇文章主要給大家介紹了關(guān)于java8中Stream使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • 使用javaMail實(shí)現(xiàn)發(fā)送郵件

    使用javaMail實(shí)現(xiàn)發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了使用javaMail實(shí)現(xiàn)發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • java設(shè)計(jì)模式策略模式圖文示例詳解

    java設(shè)計(jì)模式策略模式圖文示例詳解

    這篇文章主要為大家介紹了java設(shè)計(jì)模式策略模式圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 我總結(jié)的幾種@Transactional失效原因說(shuō)明

    我總結(jié)的幾種@Transactional失效原因說(shuō)明

    這篇文章主要是我總結(jié)的幾種@Transactional失效原因說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java項(xiàng)目--家庭收支記錄程序

    Java項(xiàng)目--家庭收支記錄程序

    本文主要介紹Java基礎(chǔ)階段的一個(gè)小項(xiàng)目——家庭收支記錄程序(附完整源代碼),本項(xiàng)目所用到的主要知識(shí)點(diǎn):基本語(yǔ)法、數(shù)組和方法。本項(xiàng)目并不難,主要是對(duì)Java初學(xué)者的基礎(chǔ)綜合運(yùn)用的訓(xùn)練及檢驗(yàn)
    2021-07-07

最新評(píng)論