我需要知道Java中的flush和close函数之间的确切区别是什么?
当在写入文件期间将数据转储到文件中时?
请提供一个例子
flush()
just确保所有缓冲数据都写入磁盘(在这种情况下 - 更一般地说,通过您正在使用的任何 IO 通道刷新)。之后您仍然可以写入流(或写入器)。
close()
刷新数据并表明没有更多数据。它关闭所有文件句柄、套接字或其他任何东西。然后您就无法再写入流(或写入器)。
请注意,无需调用flush()
data can仍然会被写入有问题的 IO 通道 - 只是一些数据might被缓冲。
close()
一般会调用flush()
同样,但最近有人向我指出,在某些 JDK 实现中,作为关闭的一部分而由刷新引发的任何异常都会被吞掉:(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)