加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:29:11 所属栏目:Java 来源:网络整理
导读:我有一些这样的代码: PrintWriter pw = new PrintWriter(new BufferedReader(....));for(int i=0; i10; i++) { pw.println("a"); pw.flush();// flush each time when println()?}pw.close(); 每个’for’语句中的flush()是否必须?我听说flush()在调用clos
我有一些这样的代码:
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()之前写入作者的任何东西都写入基础流,而不是坐在某些内部缓冲区中.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读