1 7以後 io流自關閉資源的方式

2021-08-20 08:47:41 字數 408 閱讀 9390

jdk1.7的關閉資源的方式

流的父類 都實現乙個介面 autocloseable

可能自動關閉的介面 1.7新特性

fileintpustream fis = null;

fileoutputstream fos = null;

try(

//要自動關閉的流

//前提是該類必須實現了autocloseable介面

//該處理異常 正常處理 和 原來一樣

/系統會幫你 自動關閉流

fileintpustream fis = new fileintputsteam(「」);

fileoutputstream fos = new fileoutputsteam(「」);

)catch(ioexception)

IO處理要注意的事 關閉資源!關閉資源!關閉資源!

案例1 現象 同事做本地txt資料切分然後處理,發現刪除本地臨時檔案目錄中的檔案時,有時成功,有時刪除完了發現檔案還在。各處都不報錯,且各種日誌列印正常。解決 最後發現,是業務邏輯 中有一處fileinputstream流讀取檔案後,沒有關流,導致的。案例2 現象 同事往遠端ftp伺服器上上傳txt...

關閉流的正確方式

最近寫了乙個bug 以下為網上找的例子 try if osw null if fos null catch exception e 看似流已經關閉了,也try了有什麼問題呢?現在有一種情況 當我們關第乙個流時出了異常然後catch捕獲異常,但是我們總共需要關閉三個流後面的兩個流並沒有及時關閉就可能會...

外設I O資源的訪問方式

華清遠見嵌入式學院 講師。我們知道缺省外設i o資源是不在linux核心空間中的 如sram或硬體介面暫存器等 若需要訪問該外設i o資源,必須先將其位址對映到核心空間中來,然後才能在核心空間中訪問它。linux核心訪問外設i o記憶體資源的方式有兩種 動態對映 ioremap 和靜態對映 map ...