java - flush() java 文件处理

标签 java file-handling

flush() 的具体用途是什么?流和缓冲区有什么区别?为什么我们需要缓冲区?

最佳答案

缓冲的优点是效率。将一个 4096 字节的 block 写入文件一次通常比将一个字节写入 4096 次要快。

缓冲的缺点是您会错过反馈。句柄的输出可以保留在内存中,直到写入足够的字节以使其值得写入文件句柄。程序的一部分可能会将一些数据写入文件,但程序的不同部分或不同的程序无法访问该数据,直到程序的第一部分将数据从内存复制到磁盘。根据数据写入该文件的速度,这可能需要任意长的时间。

当您调用 flush() 时,您要求操作系统立即将缓冲区中的任何数据写入文件句柄,即使缓冲区未满也是如此。

关于java - flush() java 文件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4040221/

相关文章:

java - 从类内部的方法调用构造函数

java - HHH000513 : Unable to create the ReflectionOptimizer for Entity after upgrading to Hibernate 6

java - Liferay 的文档库可供多个用户使用,每个用户都有私有(private)存储库/文件夹/文件

c - C 中的文件处理 : Strip spaces at the beginning and end of text file

c - Unix 中中断时 Read() 的行为

c++ - TOCTTOU - 在处理文件之前使用访问权限

java - Arrays.sort(比较器)- Java 6 与 Java 7

java - 在数组 bean 的第一个位置设置参数值

c++ - 如何在 C++ 中将 char 转换为 int? (文件处理)

c++ - 从文本文件中删除交易子集的 c 源代码