使用try-with-resources时是否需要flush()调用
会隐式try-with-resources
调用flush()
吗?
如果可以,bw.flush()
可以安全删除下面的代码片段吗?
static void printToFile1(String text, File file) { try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
bw.write(text);
bw.flush();
} catch (IOException ex) {
// handle ex
}
}
ps。我在官方文件中看不到任何描述:
https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html
回答:
Closeable
并且AutoCloseable
是通用接口,对冲洗一无所知。因此,在他们的文档中找不到任何关于它的信息-
除了一些关于 释放资源的话 。
Writer
另一方面,A
是一个更特定用途的抽象类,现在它对刷新有了一些了解。该方法的文档摘录Writer.close()
:
关闭流,先 冲洗 。
是的-使用作家时,a close
也会总是flush
。基本上,这意味着您在试图找出关闭实际上是在做什么时,必须查阅所用具体类的文档。
以上是 使用try-with-resources时是否需要flush()调用 的全部内容, 来源链接: utcz.com/qa/424726.html