java – 如何在PrintWriter中使用flush()

前端之家收集整理的这篇文章主要介绍了java – 如何在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()是否必须?我听说flush()在调用close()时会自动调用.
如果我写这样的代码

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

我不会写pw.flush()了吗?谢谢.

解决方法

在您的示例中可能不需要flush().

它所做的是确保在调用flush()之前写入作者的任何东西都写入基础流,而不是坐在某些内部缓冲区中.

方法在几种情况下派上用场:

>如果另一个进程(或线程)在写入文件时需要检查文件,并且其他进程重要的是看到所有最近的写入.>如果写入过程可能会崩溃,重要的是不要对文件的写入丢失.>如果你正在写信给控制台,并且需要确保每一个消息都会在写入之后显示出来.

猜你在找的Java相关文章