使用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/Au​​toCloseable.html

回答:

Closeable并且AutoCloseable是通用接口,对冲洗一无所知。因此,在他们的文档中找不到任何关于它的信息-

除了一些关于 释放资源的话

Writer另一方面,A

是一个更特定用途的抽象类,现在它对刷新有了一些了解。该方法的文档摘录Writer.close()

关闭流,先 冲洗

是的-使用作家时,a close也会总是flush。基本上,这意味着您在试图找出关闭实际上是在做什么时,必须查阅所用具体类的文档。

以上是 使用try-with-resources时是否需要flush()调用 的全部内容, 来源链接: utcz.com/qa/424726.html

回到顶部