这段代码是否正确?
BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
try {
bw.write("test");
} finally {
IOUtils.closeQuietly(bw);
}
安全还是不安全?据我所了解,当我们关闭 BufferedWriter 时,它会将缓冲区刷新到底层流并可能由于错误而失败。但是 IOUtils.closeQuietly API 表示任何异常都将被忽略。
由于 IOUtils.closeQuietly,可能存在未被注意到的数据丢失吗?
IOUtils.closeQuietly
的需要。参见:http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html - lyomicloseQuietly()
仍然是最好的选择。 - Edward Falk