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

📅  最后修改于: 2023-12-03 15:31:54.926000             🧑  作者: Mango

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

1. flush()方法介绍

在Java中,PrintStream类提供了一个名为flush()的方法。这个方法强制将缓冲输出流中的任何数据都写入到目的地。

PrintStream的flush()方法没有参数,返回值为void。

2. 示例展示

下面是一个简单的示例,展示了PrintStream的flush()方法的用法:

import java.io.*;

public class FlushExample {
    public static void main(String[] args) {
        try {
            FileOutputStream fos = new FileOutputStream("output.txt");
            PrintStream ps = new PrintStream(fos);

            ps.print("Hello World!");
            ps.flush(); // 强制将缓冲输出流中的数据写入到目的地

            ps.close();
        } catch(IOException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们在程序中创建了一个PrintStream对象,并将它绑定到一个OutputStream对象,这里是FileOutputStream("output.txt")。

然后我们使用PrintStream对象的print()方法将一些数据输出到输出流中。最后,我们调用了PrintStream对象的flush()方法强制将缓冲输出流中的数据写入到目的地。

如果我们不调用flush()方法,那么输出数据可能仍然留在缓冲区中,直到输出流被关闭或缓冲区满了为止。

3. 示例说明

在上面的示例中,我们的代码会将"Hello World!"写入到文件"output.txt"中。如果我们没有调用PrintStream对象的flush()方法,输出数据可能会留在缓冲区中,而没有真正被写入文件中。

调用flush()方法会强制将缓冲区中的所有数据都写入到输出流中。这很有用,当输出缓冲区中只有一部分数据时,我们可以调用flush()方法来将这部分数据写入输出流,而不需要关闭输出流。