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 JDK9新特性 9 try的前边可以定义流对象 10 在try后边的()中可以直接引入流对象的名称(变量名) 11 在try代码执行完毕之后,流对象也可以释放掉,不用写finally 12 格式: 13 A a = new A(); 14 B b = new B(); 15 try(a,b){ 16 可能会产出异常的代码 17 }catch(异常类变量 变量名){ 18 异常的处理逻辑 19 } 20 */ 21 public class Demo03JDK9 { 22 public static void main(String[] args) throws IOException { 23 //1.创建一个字节输入流对象,构造方法中绑定要读取的数据源 24 FileInputStream fis = new FileInputStream("c:\\1.jpg"); 25 //2.创建一个字节输出流对象,构造方法中绑定要写入的目的地 26 FileOutputStream fos = new FileOutputStream("d:\\1.jpg"); 27 28 try(fis;fos){ 29 //一次读取一个字节写入一个字节的方式 30 //3.使用字节输入流对象中的方法read读取文件 31 int len = 0; 32 while((len = fis.read())!=-1){ 33 //4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中 34 fos.write(len); 35 } 36 }catch (IOException e){ 37 System.out.println(e); 38 } 39 40 //fos.write(1);//Stream Closed 41 42 } 43 }