我应该如何使用多个流包裹一个普通流?

时间:2019-05-26 14:48:09

标签: java io

将一个流包装为多个独立流时,例如Use two ways for outputting to System.out, but why only the way in front outputs?

PrintWriter pw = new PrintWriter(System.out, true);

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out))

关闭包装流将关闭共享的基础流,并使其他包装流不起作用。

我应该如何组织代码以在何处关闭流以及如何捕获异常?

1 个答案:

答案 0 :(得分:0)

您应该使用try-with-resources块,以便为您自动关闭每个流。

请注意,可以打开多个资源,并且所有资源都将在退出时关闭(无论是正常资源还是异常资源),并按照相反的顺序关闭每个资源,如上面的链接所述。