flush() 的具体用途是什么?流和缓冲区有什么区别?为什么我们需要缓冲区?
最佳答案
缓冲的优点是效率。将一个 4096 字节的 block 写入文件一次通常比将一个字节写入 4096 次要快。
缓冲的缺点是您会错过反馈。句柄的输出可以保留在内存中,直到写入足够的字节以使其值得写入文件句柄。程序的一部分可能会将一些数据写入文件,但程序的不同部分或不同的程序无法访问该数据,直到程序的第一部分将数据从内存复制到磁盘。根据数据写入该文件的速度,这可能需要任意长的时间。
当您调用 flush()
时,您要求操作系统立即将缓冲区中的任何数据写入文件句柄,即使缓冲区未满也是如此。
关于java - flush() java 文件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4040221/