这是我的代码:
FileWriter fw = new FileWriter(log,true);
BufferedWriter bw = new BufferedWriter(fw);
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
fw.close();
bw.close();
sw.close();
pw.close();
我想把它改成这样:
BufferedWriter bw = new BufferedWriter(new FileWriter(log,true));
PrintWriter pw = new PrintWriter(new StringWriter());
bw.close();
pw.close();
这是否正确,或者缺少的 close()
调用会导致问题吗?
最佳答案
为了确保关闭不会被忘记,您可以使用try-with-resource
语句
try (BufferedWriter bw = new BufferedWriter(new FileWriter(log, true));
PrintWriter pw = new PrintWriter(new StringWriter())) {
// do your processing here
} catch (IOException ex) {
// do your exception handling
}
编译器将为您添加 close()
的适当代码。
关于java - java中如何关闭一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32244756/