Java中的flush方法
时间: 2023-09-14 15:12:02 浏览: 137
在Java中,flush()方法是用来清空输出缓冲区并将缓冲区中的内容强制刷新到目标输出流中的。当我们使用输出流(如FileOutputStream、PrintStream等)时,数据首先被写入到输出缓冲区中,而不是直接写入到文件或者控制台中。这是为了提高IO操作的效率。在数据量较小或者程序执行完毕时,输出缓冲区中的内容需要被清空并刷新到目标输出流中,这时就需要使用flush()方法。
flush()方法可以保证输出缓冲区中的数据被写入到目标输出流中,即使还没有达到输出缓冲区的大小限制。flush()方法经常与close()方法一起使用,close()方法会在关闭输出流之前自动执行flush()方法,以确保输出缓冲区中的所有数据都被写入到目标输出流中。
下面是一个使用flush()方法的示例:
```java
import java.io.*;
public class Example {
public static void main(String[] args) {
try {
FileOutputStream fos = new FileOutputStream("example.txt");
BufferedOutputStream bos = new BufferedOutputStream(fos);
String str = "Hello, World!";
bos.write(str.getBytes());
bos.flush(); // 清空输出缓冲区并将缓冲区中的内容强制刷新到目标输出流中
bos.close(); // 关闭输出流之前自动执行flush()方法,以确保输出缓冲区中的所有数据都被写入到目标输出流中
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
阅读全文