1 package com.itheima.demo06.trycatch; 2 3 import java.io.FileInputStream; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 7 /* 8 JDK7的新特性 9 在try的后邊可以增加一個(),在括號中可以定義流對象 10 那么這個流對象的作用域就在try中有效 11 try中的代碼執行完畢,會自動把流對象釋放,不用寫finally 12 格式: 13 try(定義流對象;定義流對象....){ 14 可能會產出異常的代碼 15 }catch(異常類變量 變量名){ 16 異常的處理邏輯 17 } 18 */ 19 public class Demo02JDK7 { 20 public static void main(String[] args) { 21 try(//1.創建一個字節輸入流對象,構造方法中綁定要讀取的數據源 22 FileInputStream fis = new FileInputStream("c:\\1.jpg"); 23 //2.創建一個字節輸出流對象,構造方法中綁定要寫入的目的地 24 FileOutputStream fos = new FileOutputStream("d:\\1.jpg");){ 25 26 //可能會產出異常的代碼 27 //一次讀取一個字節寫入一個字節的方式 28 //3.使用字節輸入流對象中的方法read讀取文件 29 int len = 0; 30 while((len = fis.read())!=-1){ 31 //4.使用字節輸出流中的方法write,把讀取到的字節寫入到目的地的文件中 32 fos.write(len); 33 } 34 35 }catch (IOException e){ 36 //異常的處理邏輯 37 System.out.println(e); 38 } 39 40 41 } 42 }