如何对PrintWriter使用flush()

我有一些这样的代码:

PrintWriter pw = new PrintWriter(new BufferedReader(....));

for(int i=0; i<10; i++) {

pw.println("a");

pw.flush();// flush each time when println()?

}

pw.close();

每个’for’语句中的 是否必要?我听说flush()会在调用 时自动调用。如果我这样写代码:

PrintWriter pw = new PrintWriter(new BufferedReader(....), true);

而且我不会再写 了吗?谢谢。

回答:

flush()可能 不是在你的榜样必需的。

它的作用是确保在调用之前写给写程序的任何内容都写到flush()基础流中,而不是放在某个内部缓冲区中。

该方法在几种类型的情况下派上用场:

  1. 如果另一个进程(或线程)在写入文件时需要检查文件,则另一个进程查看最近的所有写入很重要。

  2. 如果写入过程可能会崩溃,则重要的是不要丢失对文件的写入。

  3. 如果您要写入控制台,则需要确保每条消息在写入后都立即显示。

以上是 如何对PrintWriter使用flush() 的全部内容, 来源链接: utcz.com/qa/413493.html

回到顶部