如何花式关闭IO流

本文探讨了在Java中关闭IO流的重要性,因为它会锁定端口和文件,需要正确关闭以防止资源泄露。错误的做法包括在一个finally块中关闭所有流和在try-catch中直接关闭。正确的做法是在finally块中按顺序关闭,并介绍了Java提供的try-with-resources语句,它能自动关闭在try块中创建的流,简化代码并确保资源有效释放。
摘要由CSDN通过智能技术生成

讨论如何关闭IO流,那么我们必须先知道为什么需要关闭: 

因为在创建IO流的时候,我们默认会将其指向一个端口或一个文件,而此时的IO流会锁定对应端口和文件,导致其无法被操作(比如写入或读取),因此,必须在IO流的操作中,实现IO流的关闭。


在创建流中,如果我们有需求创建了多种IO流的时候,那么正常操作中,我们需要在finally中,分别对每个流的关闭进行一次try-catch操作,保证关闭时候每一个IO流的异常都被准确地定位和捕获,只有这样,才能保证所有IO流能被稳定地关闭。

正确示范:

1、在try-catch后的finally代码块中依次进行关闭。

2、关闭顺序:

  1. 先创建的IO流后关闭,后创建的IO流先关闭(先进后出,后进先出)
  2. 依赖别人的IO流先关闭,被依赖的IO流后关闭(有感情妄想的先受伤)
public static void main(String[] args) {

//  创建对应的IO流,并建立依赖关系
	InputStreamReader inputStreamReader =
			new InputStreamReader(System.in);
	OutputStreamWriter outputStreamWriter =
			new OutputStreamWriter(System.out);
	BufferedWriter bufferedWriter =
			new BufferedWriter(outputStreamWriter);
	BufferedReader bufferedReade
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我想脱离小码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值