讨论如何关闭IO流,那么我们必须先知道为什么需要关闭:
因为在创建IO流的时候,我们默认会将其指向一个端口或一个文件,而此时的IO流会锁定对应端口和文件,导致其无法被操作(比如写入或读取),因此,必须在IO流的操作中,实现IO流的关闭。
在创建流中,如果我们有需求创建了多种IO流的时候,那么正常操作中,我们需要在finally中,分别对每个流的关闭进行一次try-catch操作,保证关闭时候每一个IO流的异常都被准确地定位和捕获,只有这样,才能保证所有IO流能被稳定地关闭。
正确示范:
1、在try-catch后的finally代码块中依次进行关闭。
2、关闭顺序:
- 先创建的IO流后关闭,后创建的IO流先关闭(先进后出,后进先出)
- 依赖别人的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