如何对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()
基础流中,而不是放在某个内部缓冲区中。
该方法在几种类型的情况下派上用场:
如果另一个进程(或线程)在写入文件时需要检查文件,则另一个进程查看最近的所有写入很重要。
如果写入过程可能会崩溃,则重要的是不要丢失对文件的写入。
如果您要写入控制台,则需要确保每条消息在写入后都立即显示。
以上是 如何对PrintWriter使用flush() 的全部内容, 来源链接: utcz.com/qa/413493.html