我想知道 Java 中的 flush 和 close 函数的确切区别是什么?
在写入文件的过程中,当数据转储到文件中时?
请举例说明
最佳答案
flush()
just 确保将任何缓冲数据写入磁盘(在这种情况下 - 更一般地说,通过您正在使用的任何 IO channel 刷新)。之后您仍然可以写入流(或写入器)。
close()
刷新数据并表示没有更多数据。它关闭任何文件句柄、套接字或其他任何东西。然后您就不能再写入流(或写入器)了。
请注意,如果不调用 flush()
数据 仍可以 写入相关的 IO channel - 只是一些数据可能被缓冲。
close()
通常也调用 flush()
,但最近有人向我指出,在某些 JDK 实现中,刷新引发的任何异常都是收盘被吞了:(
关于java - java中filewriter的flush和close函数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9272585/