【发布时间】:2015-05-12 14:49:33
【问题描述】:
我想在每次发生某些事情时记录(附加文本)到文件中。我发现这可能是使用 Java 7 的 try-with-resources 语句执行此操作的正确方法:
public void log(String textLine) {
try(PrintWriter output = new PrintWriter(new BufferedWriter(new FileWriter("Logfile.txt", true)))) {
output.println(textLine);
}catch (IOException e) {
//exception handling
}
}
我担心的是这个日志方法被频繁调用,并且每次调用这个方法时都会关闭并重新打开输出,这是不必要的。同时,我想从 Java 7 的 try-with-resources 语句功能中受益。
我的担心不是因为重新打开和关闭 writer 的操作成本不高吗?或者我应该使用 Java 6 的老式方式,即手动处理异常并将输出声明为成员字段并在应用程序结束时手动关闭输出?
【问题讨论】:
-
您是否考虑过使用标准日志库,这样您就不必担心所有这些问题?这也将为您提供更多灵活性,例如日志级别,并且日志审核软件将能够更轻松地解析它
标签: java java-7 writer try-with-resources