【Java筆記】檔案輸出流中的IO異常處理
在檔案輸出流(FileOutputStream)的寫入操作和關閉資源操作中,比如說檔案寫入失敗或者關閉資源失敗等等,我們不能把這些異常總是拋給虛擬機器,不然JVM會生氣的,我們已經長大了要自己學會處理這些異常。
如:
try { fos = new FileOutputStream("d:\\a.txt"); fos.write(100); } catch (IOException ex) { throw new RuntimeException("檔案寫入失敗!"); } finally { try { if (fos != null)// 若流物件新建失敗,是沒有佔用資源的,故無須清理 fos.close(); } catch (IOException ex) { throw new RuntimeException("關閉資源失敗!"); } }
上面程式碼處理了兩個異常,分別是寫入異常和關閉資源異常,其中關閉資源操作在有佔用資源的情況下是必須執行的,因此放在finally中,而關閉資源操作也有可能出現異常,故嵌套了try...catch對其處理。
相關推薦
【Java筆記】檔案輸出流中的IO異常處理
在檔案輸出流(FileOutputStream)的寫入操作和關閉資源操作中,比如說檔案寫入失敗或者關閉資源失敗等等,我們不能把這些異常總是拋給虛擬機器,不然JVM會生氣的,我們已經長大了要自己學會處理這些異常。 如: try { fos = new FileOutputStream("
【Java筆記】IO流中四種檔案複製方式效率比較
位元組流檔案複製方式: (1)位元組流讀寫單個位元組 (2)位元組流讀寫位元組陣列 (3)位元組緩衝流讀寫單個位元組 (4)位元組緩衝流讀寫位元組陣列 import java.io.BufferedInputStream; import java.io.BufferedOutpu
【Java筆記】IO流中檔案複製及異常處理
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Main
【Java筆記】一個.java檔案中存在多個類的問題
一個.java檔案中可以有很多類。不過注意以下幾點: 1、public 許可權的類只能有一個(也可以一個都沒有,但最多隻有1個) 2、這個.java檔案的檔名必須是public類的類名(一般的情況下,這裡放置main方法是程式的入口。) 3、若這個檔案中沒有public的類,則檔名隨
【Java筆記】通過反射配置檔案執行類中的方法
要求:在一個Test類中呼叫不同類中的方法,不改動Test原始碼,如何做到? 實現方法:將要執行的類名和方法名,以鍵值對的形式卸儲存在文字中,執行哪個類就讀取配置檔案即可。 實現步驟:1.準備配置檔案,鍵值對 &nbs
【java筆記】淺談Java中的equals和==
在初學Java時,可能會經常碰到下面的程式碼: String str1 = new String("hello"); String str2 = new String("hello"); System.out.println(str1==str2); System.out.
【Java筆記】try中捕獲到異常後跳出try
public class TestDome { public static void main(String[] args) { try{ s1(); s2(); //s2()中有異常,則跳到catch模組,不再
【51nod 1785】數據流中的算法
分享 col esc == namespace 大小 小數 cnblogs -a Description 51nod近日上線了用戶滿意度檢測工具,使用高級人工智能算法,通過用戶訪問時間、鼠標軌跡等特征計算用戶對於網站的滿意程度。 現有的統計工具只能統計某一個窗口中,用戶
【Java筆記】多執行緒實現簡單的非同步運算
實現Callable介面,重寫call()方法,使操作執行緒池時能帶有返回值的效果: import java.util.concurrent.Callable; public class GetSumCallable implements Callable<Integer> {
【Java筆記】方法過載與重寫的區別
1.重寫(Override) 重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。即外殼不變,核心重寫! 重寫的好處在於子類可以根據需要,定義特定於自己的行為。 也就是說子類能夠根據需要實現父類的方法。 重寫方法不能丟擲新的檢查異常或者比被重寫方法申明更加寬
【Java筆記】內部類注意事項
內部類要求:Java內部類其實在J2EE程式設計中使用較少,不過在視窗應用程式設計中特別常見,主要用來事件的處理。其實,做非GUI程式設計,內部類完全可以不用。但是在Java中,內部類也相當的重要,尤其做GUI開發時候,事件的響應處理全靠內部類了。 另外內部類所做的功能使用外部類也同樣可以實現,只是
【Java筆記】為什麼資料範圍最大值加一等於最小值
在程式中有時候不小心將最大數值加1,我們會得到一個負數,這個負數就是這種資料型別的最小值。 下面看一個示例: public class Number { public static void main(String[] args) { System.out.println("最大的整數
【Java筆記】String字串拼接應該使用哪種方式?
我們所知道的字串String的拼接有: “+” 、 concat () 方式實現,或者使用StringBuilder、StringBuffer類實現。這幾種方式效能的從低到高進行排序,則順序為:“+” < concat () < S
【PHP筆記】檔案系統處理
檔案處理函式: 一、檔案操作 二、目錄操作 三、檔案上傳 四、多檔案上傳 五、檔案下載 六、檔案上傳下載系統 檔案測試函式: filetype(); //檔案型別 is_dir(); //判斷是否是目錄 is_file(); //判斷是否是檔案 file_exists(); //檔案或目
【Java筆記】泛型擦除
要求:定義ArrayList<String>集合,如何實現向集合中新增Integer型別的值? 實現這個要求前,我們可以先了解偽泛型的概念,即編譯後的Class檔案中其實是沒有泛型約束的,請看程式碼: public class Test { public void doTwo(L
【Java筆記】TCP上傳圖片案例分析
要求:從客戶端上傳一張圖片到伺服器,伺服器將圖片儲存在指定資料夾中,伺服器反饋上傳成功。 (本質是檔案複製,只要有資料來源和資料目的即可) 客戶端:資料來源是電腦某碟符下的某張照片 資料目的
【Java筆記】java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory解決方法
解決方法:匯入commons-logging.jar包 如果用的是maven直接用: <dependency> <groupId>commons-logging</g
【java筆記】Leetcode 203.移除連結串列元素
刪除連結串列中等於給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5 public class Solution { p
【論文筆記】使用多流密集網路的密度感知單影象去雨
使用多流密集網路的密度感知單影象去雨 《Density-aware Single Image De-reaining using a Multi-stream Dense Network》 0 概要 這裡提出一種密度感知多路稠密連線神經網路演算法,DID-MDN,來雨量
【學習筆記】在原生javascript中使用ActiveX和外掛
什麼是外掛 現在的瀏覽器提供了大量的內建功能,但仍然有一些工作無法完成,如播放音訊和視訊。外掛及其擴充套件瀏覽器功能就尤為重要。 外掛是可下載的應用程式,可以插入到瀏覽器中,現在有很多不同的外掛,常用的有Adobe Flash Palyer ,Microsoft的Silv