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()