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 }