本文记录Java中关闭Chained-Streams的正确方式。
在Java开发过程中,我们时常使用这样的方式创建输入输出流,如下方式1:
1 | BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); |
或者如下方式2创建:
1 | FileOutputStream fos = new FileOutputStream(...) |
使用方式1时,我们仅仅使用br.close()
是否会造成流资源的不正确关闭?使用方式2时,是否需要把创建的每个流(oos/bos/fos)都依次关闭呢?