📜  Java中的 BufferedOutputStream flush() 方法及示例

📅  最后修改于: 2022-05-13 01:55:42.537000             🧑  作者: Mango

Java中的 BufferedOutputStream flush() 方法及示例

Java中BufferedOutputStream类的flush()方法用于刷新缓冲的输出流。此方法用于强制将缓冲输出的字节写入主输出流。

句法:

public void flush() 
            throws IOException

指定者:该方法由Flushable接口中的flush()方法指定。

覆盖:此方法覆盖FilterOutputStream类中的flush()方法。

参数:此方法不接受任何参数。

返回值:此方法不返回任何值。

异常:如果发生 I/O 错误,此方法将抛出IOException

下面的程序说明了 IO 包中 BufferedOutputStream 类中的 flush() 方法:

方案一:

// 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

方案二:

// 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

参考:
https://docs.oracle.com/javase/10/docs/api/java Java()