Java中为什么先关闭输出流后关闭输入流?

如题所述

不绝对,要看依赖关系,先关被依赖的流,谁是被依赖的,就先关谁,比如代码中从文件A读出内容,然后写入文件B , 这个时候读A 要用输入流 ,往B写要用输出流,必须要先从A读出,然后才能往B写,所以,这个场景下,输出流 依赖 输入流,操作完关流的时候就要先关被依赖的输入流,再关输出流。
还有,如果关流操作在finally块中进行,顺序就无所谓了。
如果输入流和输出流完全没有依赖关系,那关流顺序就更没关系了,看心情就好。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-12
因为输出流消耗的硬件资源远大于输入流。
第2个回答  2015-09-06
因为输出流消耗的硬件资源远大于输入流本回答被提问者采纳
第3个回答  2017-08-03
这个,不是绝对的

~
~
~
第4个回答  2018-05-14
这个没有规定先关闭哪个。
如果输入流和输出流之间没有关联的话,先关闭哪个都可以。
inputStream(outputStream)先关闭outputStream
outputStream(inputStream)先关闭inputStream。
总之就是先关闭里面(被引用)的。如果反过来,先关闭引用的,那么就无法关闭被引用的了,会导致IO不能即时释放。