РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
849 of 1163 menu

Метод flush

Метод flush класса OutputStream заставляет поток немедленно записать все накопленные в буфере данные в место назначения. Обычно выходные потоки, особенно буферизованные, накапливают данные в промежуточном буфере для повышения производительности. Метод flush не принимает параметров и не возвращает значения. После вызова этого метода все данные, которые были записаны через write, гарантированно попадают в нижележащий поток или устройство вывода.

Синтаксис

public void flush() throws IOException

Пример

Давайте создадим файл, запишем в него строку через буферизованный поток и принудительно вызовем flush, чтобы данные попали в файл до закрытия потока:

import java.io.FileOutputStream; import java.io.BufferedOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) { try (BufferedOutputStream out = new BufferedOutputStream( new FileOutputStream("output.txt"))) { String data = "abcde"; out.write(data.getBytes()); out.flush(); System.out.println("Данные записаны в файл"); } catch (IOException e) { System.out.println("Ошибка: " + e.getMessage()); } } }

Результат выполнения кода:

"Данные записаны в файл"

Пример

Давайте запишем несколько строк в буферизованный поток и после каждого вызова write будем вызывать flush, чтобы данные сразу попадали в файл:

import java.io.FileOutputStream; import java.io.BufferedOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) { try (BufferedOutputStream out = new BufferedOutputStream( new FileOutputStream("output.txt"))) { out.write("12345".getBytes()); out.flush(); out.write("abcde".getBytes()); out.flush(); System.out.println("Все строки записаны"); } catch (IOException e) { System.out.println("Ошибка: " + e.getMessage()); } } }

Результат выполнения кода:

"Все строки записаны"

Смотрите также

  • класс OutputStream,
    который является базовым для всех выходных потоков
  • метод write,
    который записывает байты в поток
  • метод close,
    который закрывает поток и освобождает ресурсы
  • класс BufferedWriter,
    который также поддерживает буферизацию и метод flush
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить