Очищает выходной поток и принудительно записывает все буферизованные выходные байты. Общий принцип flush заключается в том, что его вызов указывает на то, что, если какие-либо ранее записанные байты были буферизованы реализацией выходного потока, такие байты должны быть немедленно записаны по назначению.
Когда вы записываете данные в поток, они записываются не сразу, а буферизуются. Поэтому используйте flush(), когда вам нужно быть уверенным, что все ваши данные из буфера записаны.
Нам нужно быть уверенными, что все операции записи завершены до того, как мы закроем поток, и именно поэтому flush() вызывается в файле / буфере записи close().
Но если у вас есть требование, чтобы все ваши записи сохранялись в любое время перед закрытием потока, используйте flush().
Ответ 3
Когда мы даем какую-либо команду, потоки этой команды сохраняются в ячейке памяти, называемой buffer (ячейка временной памяти) на нашем компьютере. Когда вся временная ячейка памяти заполнена, мы используем flush (), которая очищает все потоки данных и выполняет их полностью, а также предоставляет новое пространство для новых потоков во временной ячейке буфера. -Надеюсь, вы поймете.
Ответ 4
Если буфер заполнен, все строки, которые в нем буферизованы, будут сохранены на диске. Буферы используются для предотвращения крупных сделок! и накладных расходов.
В классе BufferedWriter, который размещен в java libs, есть одна строка типа:
privatestaticintdefaultCharBufferSize=8192;
Если вы действительно хотите отправить данные до заполнения буфера, у вас есть контроль. Просто сбросьте их. Вызывает writer .flush() говорит: "отправь все, что есть в буфере, сейчас же!