JAVA 中级 I/O系列教材 (四)- 关闭流的方式

本文详细介绍了JAVA中关闭流的三种方式:在try中关闭、在finally中关闭以及使用try()的方式,并解释了关闭流的原因,强调了资源释放的重要性。此外,讨论了JDK7引入的try-with-resources特性,它简化了资源关闭并处理异常的方法。
摘要由CSDN通过智能技术生成

目录

0.0应用场景

  0.1简要描述开发过程中close()方法关闭流的原因

 步骤 1 : 在try中关闭

步骤 2 : 在finally中关闭

  步骤 3 : 使用try()的方式

4.面试题:关闭流,不用close,还有什么方法


java中流的关闭条件

0.0应用场景

  1. 文件传输(复制文件,删除文件或文件夹,文件改名等)
  2. 网络传输(从服务器进行数据读取,上传下载等)
  3. 硬盘数据的存储

        所有的流,无论是输入流还是输出流,使用完毕之后,都应该关闭。 如果不关闭,会产生对资源占用的浪费。 当量比较大的时候,会影响到业务的正常开展。

   

  0.1简要描述开发过程中close()方法关闭流的原因

         为什么要用close()关掉流,不是程序结束自动被gc回收吗?

           简要描述开发过程中close()方法关闭流的原因

          一、因为java的垃圾回收,用户是没有办法控制的,它会在不确定的时候触发,而且java不保证在整个程序运行期一定会触发垃圾回收,所以对于流、socket等之类的资源用完之后一定要关闭。而且垃圾回收机制对于socket、thread之类的对象即使引用计数为0了,只要还是在活动的情况下,也不会被回收。
        
        二、流不单在内存中分配了空间,也在操作系统占有了资源,java的gc是能从内存中回收不使用的对象,但对操作系统分配的资源是无能为力的,所以就要调用close()方法来通知OS来释放这个资源。

        为什么一定要close()呢?
         A:让流对象变成垃圾,这样就可以被垃圾回收器回收了
         B:通知系统去释放跟该文件相关的资源

 步骤 1 : 在try中关闭

关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值