flush() 在 Java 流中的目的是什么?

2022-08-31 07:43:43

在Java中,方法用于流中。但是我不明白使用此方法的所有目的是什么?flush()

fin.flush();

告诉我一些建议。


答案 1

从该方法的文档flush

刷新输出流并强制写出任何缓冲的输出字节。flush 的一般约定是,调用它表示,如果输出流的实现缓冲了以前写入的任何字节,则应立即将此类字节写入其预期目标。

缓冲主要是为了提高I/O性能。有关这方面的更多信息,请阅读本文:调整 Java I/O 性能


答案 2

将数据写入流时,不会立即写入数据,而是对其进行缓冲。因此,当您需要确保写入缓冲区中的所有数据时,请使用。flush()

在关闭流之前,我们需要确保所有写入都已完成,这就是为什么在文件/缓冲编写器中调用的原因。flush()close()

但是,如果您要求在关闭流之前随时保存所有写入操作,请使用 。flush()


推荐