Метод flush
Метод flush класса PrintStream принудительно
записывает все данные, накопленные в буфере,
в целевой поток вывода. Обычно PrintStream
автоматически сбрасывает буфер при определённых
условиях, однако в некоторых ситуациях требуется
гарантировать немедленную запись. Метод не принимает
параметров и не возвращает значения.
Синтаксис
printStream.flush()
Пример
Давайте запишем строку в поток и принудительно
сбросим буфер с помощью метода flush:
import java.io.PrintStream;
public class Main
{
public static void main(String[] args)
{
PrintStream ps = new PrintStream(System.out);
ps.print("abcde");
ps.flush();
ps.close();
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте убедимся, что данные записываются в файл
сразу после вызова метода flush:
import java.io.FileOutputStream;
import java.io.PrintStream;
public class Main
{
public static void main(String[] args) throws Exception
{
FileOutputStream fos = new FileOutputStream("out.txt");
PrintStream ps = new PrintStream(fos);
ps.print("12345");
ps.flush();
System.out.println("Data flushed");
ps.close();
}
}
Результат выполнения кода:
"Data flushed"
Смотрите также
-
класс
PrintStream,
который предоставляет методы для вывода данных -
метод
print,
который выводит данные без перевода строки -
метод
println,
который выводит данные с переводом строки -
метод
close,
который закрывает поток вывода