1. 程式人生 > 其它 >JDK7新特性

JDK7新特性

技術標籤:javaseIO新特性java

IO 異常的處理
JDK1.7之前的處理

 public static void main(String[] args) {
        // 提高變數的作用域,讓finally語句塊中能夠使用到。
        FileWriter fw = null;
        try {
            // 1. new
            // 可能會產生異常
            fw = new FileWriter("day28_IO\\g.txt", true);
            // 2. write
            fw.
write(97); // 3. 重新整理 fw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { // 4. try { fw.close();// Variable 'fw' might not have been initialized } catch (IOException e) { e.
printStackTrace(); } } }

JDK7新特性
可以使用try-with-resource語句,該語句確保了每個資源在語句結束時關閉,所謂的資源(resource)是指在程式完成後,必須要關閉的物件。

格式:

try(建立流物件語句,如果多個,請使用";"隔開) {
    // 可能產生異常的程式碼
} catch (異常型別  異常變數名) {
    // 異常處理邏輯
}

示例程式碼:

public static void main(String[] args) {
        try(
                // 1.1 new
FileOutputStream fw = new FileOutputStream("day28_IO\\2.jpg"); // 1.2 new FileInputStream fr = new FileInputStream("C:\\Users\\admin\\Desktop\\2.jpg"); ) { // 2. write int len = 0; while ((len = fr.read()) != -1) { fw.write(len); } } catch (IOException e) { // 異常的處理邏輯 e.printStackTrace(); } }