JDK7&JDK9处理异常新特性
2024-10-20 05:28:00
1、JDK7新特性是在 try (定义对象,作用域就是try方法体)
复制一个文件实例:
复制文件的原理:
先从硬盘写出到内存中,创建文件输入流对象 FileInputStream fis;
中间是在内存中处理数据,fis需要调用 read 方法遍历每个字节,可以使用数组缓冲区批量读取数据,用一个变量接收读取的数据,
fos再将接收数据的变量写入到硬盘中,while 循环(循环结束的条件),这边结束的条件就是读取的数据接收的变量值为-1,则读取结束,挨个后移的指针停止;
读取一个写入一个;
再从内存中处理数据写入到硬盘中,创建文件输出流对象 FileOutputStream fos;
其中,读取数据写出到内存的文件输入流对象 和 处理数据后写入到硬盘中的文件输出流对象,
都是在 try ()括号中定义;
不用再写finally 方法体,不用再判断对象是否还是初始化的Null;
2、JDK9新特性
在try 之前定义好对象,try () 括号中引入创建好的对象;
还以复制文件为例:
在创建流对象的时候,调用构造方法也是声明了异常的IOException,所以在try 之前调用构造方法创建对象,也是必须处理异常,在外面的大的方法体中 throws 掉;
所以不如使用JDK7的新特性的方便;
最新文章
- jquery radio
- DSP using MATlAB 示例Example2.10
- Release时error c1083 无法打开包括文件
- Asianux的SSH登录问题,密码不正确解决
- OpenStack:安装Nova
- 自己画一个ActivityIndicatorView-b
- nginx日志管理与限速
- Linux 分区挂载方案
- Explain of Interaction Operators in UML?
- Apache Derby倒斗之路-01小道消息
- 试试看读一下Zepto源码
- Java学习路线图分析
- python的变量与注释
- MySQL之数据表(五)
- FieldGroup绑定的日期类型存储格式的问题
- byte数组存储到mysql
- 【gitlab】创建ssh 秘钥
- NodeJS调用jar包
- Oracletop10物理段
- PSP Daily新增功能说明书