關(guān)于Java中的try-with-resources語(yǔ)句
介紹
try-with-resources是Java中的環(huán)繞語(yǔ)句之一,旨在減輕開(kāi)發(fā)人員釋放try
塊中使用的資源的義務(wù)。
它最初在Java 7中引入,背后的全部想法是,開(kāi)發(fā)人員無(wú)需擔(dān)心僅在一個(gè)try-catch-finally塊中使用的資源的資源管理。這是通過(guò)消除對(duì)finally
塊的依賴而實(shí)現(xiàn)的。
此外,使用try-with-resources的代碼通常更清晰易讀,因此使代碼更易于管理,尤其是當(dāng)我們處理許多try
塊時(shí)。
語(yǔ)法
try-with-resources的語(yǔ)法與通常try-catch-finally語(yǔ)法相同。
普通try:
BufferedWriter writer = null; try { writer = new BufferedWriter(new FileWriter(fileName)); writer.write(str); // do something with the file we've opened } catch (IOException e) { // handle the exception } finally { try { if (writer != null) writer.close(); } catch (IOException e) { // handle the exception } }
try-with-resources:
try(BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))){ writer.write(str); // do something with the file we've opened } catch(IOException e){ // handle the exception }
Java理解此代碼的方式:
try語(yǔ)句之后在括號(hào)中打開(kāi)的資源僅在此處和現(xiàn)在需要。
.close()
在try塊中完成工作后,將立即調(diào)用它們的方法。如果在try塊中拋出異常,無(wú)論如何我會(huì)關(guān)閉這些資源。
注意:
從Java 9開(kāi)始,沒(méi)有必要在try-with-resources語(yǔ)句中聲明資源。
可以這樣做:
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName)); try (writer) { writer.write(str); // do something with the file we've opened } catch(IOException e) { // handle the exception }
到此這篇關(guān)于關(guān)于Java中的try-with-resources語(yǔ)句的文章就介紹到這了,更多相關(guān)Java try-with-resources語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java數(shù)組操作經(jīng)典例題大總結(jié)
數(shù)組是在內(nèi)存中存儲(chǔ)相同數(shù)據(jù)類型的連續(xù)的空間,聲明一個(gè)數(shù)組就是在內(nèi)存空間中劃出一串連續(xù)的空間,下面這篇文章主要給大家介紹了關(guān)于Java數(shù)組操作經(jīng)典例題的相關(guān)資料,需要的朋友可以參考下2022-03-03Spring Boot實(shí)現(xiàn)微信小程序登錄
這篇文章主要為大家詳細(xì)介紹了Spring Boot實(shí)現(xiàn)微信小程序登錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04SpringBoot項(xiàng)目使用mybatis-plus逆向自動(dòng)生成全套代碼
在JavaWeb工程中,每一個(gè)SSM新項(xiàng)目或者說(shuō)是SpringBoot項(xiàng)目也好,都少不了model、controller、service、dao等層次的構(gòu)建。使用mybatis-plus逆向可以自動(dòng)生成,感興趣的可以了解一下2021-09-09解決@PathVariable對(duì)于特殊字符截?cái)嗟膯?wèn)題
這篇文章主要介紹了解決@PathVariable對(duì)于特殊字符截?cái)嗟膯?wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02基于Spring Data Jest的Elasticsearch數(shù)據(jù)統(tǒng)計(jì)示例
本篇文章主要介紹了基于Spring Data Jest的Elasticsearch數(shù)據(jù)統(tǒng)計(jì)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02