软件构造:异常处理之try-with-resource

本文介绍了Java异常处理中的资源关闭问题,包括非多重嵌套流、多重嵌套流和同时打开多个流的处理方式。重点讲解了Java7引入的try-with-resource语法,它使得资源关闭变得更加简洁,只需将实现了AutoCloseable接口的对象放入try关键字后的括号中,编译器会自动在finally块中调用close()方法。
摘要由CSDN通过智能技术生成

目录

前言:

一、打开了一个流(非多重嵌套流)

二、打开了一个多重嵌套流

三、同时打开多个流


前言:

        在异常处理中,要想关闭在异常发生前申请的某些资源,通常需要使用try-catch-finally语法,分为三种情况:

一、打开了一个流(非多重嵌套流)

        那么只需要在finally中简单调用close()即可;

InputStream in = null;
try
{
    in = new FileInputStream("text.txt");
    //code that might throw exceptions
}
catch(IOException e)
{
    e.printStackTrace();
}
finally
{
    in.close();
}

二、打开了一个多重嵌套流

        所谓多重嵌套流,就是在一个流的打开需要另一个流。从表面上看,多重嵌套流需要从内向外逐层关闭,但事实上因为Java中close()方法的实现包含多线程的情况,所以实际上只需要关闭最外层流即可;

BufferedInputStr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值