*1、 JDK7中try…catch…新特性:
- 可以在try后边加一个(),在括号中引入对象,此对象的作用域是整个try代码中,
- 以文件输入输出流为例,可以在()中引入文件输入流/输出流,在try中代码执行完毕之后,
- 会自动释放资源,不用再调用close释放资源。
- 示例:try(文件输入流;文件输出流;…){ //此处可以引入多个流对象
-
执行代码;
- }catch(IOException e){
- }
** 2、JDK9中try…catch…新特性:**
- 还是以流对象做示例,在try前创建流对象,在try后面的()中引入流对象,引入的流对象作用域
- 依然是整个try代码块,当try中的代码执行完毕,会自动释放引用的流对象
- 示例:
- FI fi = new FI();
- FO fo = new FO();
- try(fi,fo){
-
代码块
- }catch(IOException e){
- }
*/
3、JDK7实例代码:
public class FileByTryCatch {
public static void main(String[] args){
//JDK7 代码实现 --- 文件字节流模拟文件复制
try (
FileInputStream fis = new FileInputStream("MyBatis01\\fileOutputStream.txt");
FileOutputStream fos = new FileOutputStream("MyBatis01\\ABCD\\fileWrite.txt");
){
byte[] bytes = new byte[1024];
int len = 0;
while((len = fis.read(bytes)) != -1){
fos.write(bytes,0,len);
}
} catch (IOException e) {
System.out.println(e);
}
}
}