参见英文答案 > Correct way to close nested streams and writers in Java 10个
使用这样的PrintWriter时:
PrintWriter fileOut = new PrintWriter(new BufferedWriter(new FileWriter(csvFileIn)));
我需要在finally块中关闭什么? PrintWriter,BufferedWriter和FileWriter?
我是否需要尝试捕获finally块中的close语句?
[编辑]
我需要使用java 6,所以我不能使用try-with-resources语句.
解决方法:
你应该使用 –
fileOut.close();
由于您没有为BufferedWriter或FileWriter分配任何变量名称,因此当您关闭fileOut时,fileOut将由它们构成,它将依次关闭两个流.