在 Java 中使用 PrintWriter 时需要关闭什么

Jav*_*Dev 4 java try-catch filewriter bufferedwriter printwriter

当使用PrintWriter这样的:

PrintWriter fileOut = new PrintWriter(new BufferedWriter(new FileWriter(csvFileIn)));
Run Code Online (Sandbox Code Playgroud)

我需要在 finally 块中关闭什么?PrintWriter、BufferedWriter 和 FileWriter ?

我是否需要尝试在 finally 块中捕获 close 语句?

[编辑] 我需要使用 java 6,所以我不能使用 try-with-resources 语句。

SCo*_*uto 5

您可以使用try-with-resources

try (PrintWriter fileOut = new PrintWriter(new BufferedWriter(new     FileWriter(csvFileIn)))) {
    //WHATEVER you need to do
}
Run Code Online (Sandbox Code Playgroud)

由于PrintWriter实现AutoCloseable它会在try块完成后自行关闭(即使引发异常)

在此处查看有关此的更多信息