首页 > 技术文章 > jdk1.9使用try catch 处理流中的异常的新特性

yhqtv-com 2020-05-13 10:00 原文

 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 }

 

推荐阅读