我正在调用一种将一些数据写入Java中的CSV文件的方法。在该方法内部,我使用的是引发IOException的FileWriter。我想知道处理此异常的正确方法是,如果要在外部方法中处理该异常,同时还要确保FileWriter被关闭。
我正在考虑两种解决方案:
只需在打开FileWriter的方法中处理异常。
找出一种将FileWriter传递回调用方法以便可以关闭的方法。
这是我所谈论的例子:
public static void outerFunc() {
// get some sort of data
try {
innerFunc(data);
}
catch (IOException e) {
e.printStackTrace();
}
finally {
// can I close the FileWriter here somehow?
}
}
private static void innerFunc(Data data) throws IOException {
FileWriter csv = new FileWriter("result.csv")
// Write the data to the file
csv.flush();
csv.close();
}
让我知道你们的想法。我很开放我可能完全不在这里,应该以不同的方式这样做。预先感谢您的输入!
答案 0 :(得分:2)
打开资源的方法应将其关闭,我将使用the try-with-resources
Statement。喜欢,
try (FileWriter csv = new FileWriter("result.csv")) {
// ...
}