新版JDK try-with-resource处理IO异常

本文介绍JDK9中关于AutoCloseable接口的改进,教你如何在Java 7+中利用try-with-resources语句优雅地管理文件流,包括多资源的顺序关闭和异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • JDK7之后的写法,JDK9又进行了改良,但是变化不大,记住下面的写法即可

  • 需要关闭的资源只要实现了java.lang.AutoCloseable,就可以自动被关闭

  • try()里面可以定义多个资源,它们的关闭顺序是后开先关,即最后在try()定义的资源先关闭

  • public class Test {
        public static void main(String[] args) {
            try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\aaa.txt"));
                 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\bbb.txt"));) {
                int size;
                byte[] arr = new byte[1024];
                while ((size = bis.read(arr)) != -1) {
                    bos.write(arr, 0, size);
                }
                bos.flush();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值