El método flush() de la clase BufferedOutputStream en Java se usa para vaciar el flujo de salida almacenado en búfer. Este método se utiliza para obligar a que los bytes de la salida almacenada en búfer se escriban en el flujo de salida principal.
Sintaxis:
public void flush() throws IOException
Especificado por: este método está especificado por el método flush() en la interfaz Flushable .
Anulaciones: este método anula el método flush() en la clase FilterOutputStream .
Parámetros: Este método no acepta ningún parámetro.
Valor devuelto : este método no devuelve ningún valor.
Excepción: este método lanza IOException si ocurre un error de E/S.
Los siguientes programas ilustran el método flush() en la clase BufferedOutputStream en el paquete IO:
Programa 1:
// Java program to illustrate // BufferedOutputStream flush() method import java.io.*; public class GFG { public static void main(String[] args) throws Exception { // Create byteArrayOutputStream ByteArrayOutputStream byteArrayOutStr = new ByteArrayOutputStream(); // Convert outputStream to // bufferedInputStream BufferedOutputStream buffOutputStr = new BufferedOutputStream( byteArrayOutStr); // Creating byte array byte b[] = { 71, 69, 69, 75, 83 }; buffOutputStr.write(b); // flush is called // to compel bytes to be // written out to buffOutputStr buffOutputStr.flush(); for (byte by : byteArrayOutStr .toByteArray()) { // Converts byte to character char ch = (char)by; System.out.print(ch); } } }
GEEKS
Programa 2:
// Java program to illustrate // BufferedOutputStream flush() method import java.io.*; public class GFG { public static void main(String[] args) throws Exception { // Create byteArrayOutputStream ByteArrayOutputStream byteArrayOutStr = new ByteArrayOutputStream(); // Convert outputStream to // bufferedInputStream BufferedOutputStream buffOutputStr = new BufferedOutputStream( byteArrayOutStr); // Creating first byte array byte b1[] = { 71, 69, 69, 75, 83 }; buffOutputStr.write(b1); // flush is called // to compel bytes to be // written out to buffOutputStr buffOutputStr.flush(); // Creating second byte array byte b2[] = { 70, 79, 82 }; buffOutputStr.write(b2); buffOutputStr.flush(); buffOutputStr.write(b1); buffOutputStr.flush(); for (byte by : byteArrayOutStr.toByteArray()) { // Converts byte to character char ch = (char)by; System.out.print(ch); } } }
GEEKSFORGEEKS
Referencias:
https://docs.oracle.com/javase/10/docs/api/java/io/BufferedOutputStream.html#flush()