当前位置: 首页 > 面试题库 >

如何对PrintWriter使用flush()

顾穆冉
2023-03-14
问题内容

我有一些这样的代码:

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()基础流中,而不是放在某个内部缓冲区中。

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

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

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

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



 类似资料:
  • 问题内容: 我试图了解我正在制作的一个小程序的PrintWriter,而且我似乎无法让Java来制作文件然后在上面写。当我执行下面的程序时,它在第9行显示Filenotfoundexeption错误。它也无法在我指定的目录中创建文件。我对此并不陌生,因此请尝试使答案保持简单。我正在使用Eclipse。 问题答案: 如果该目录不存在,则需要创建它。Java不会自己创建它,因为该类只是到一个实体的链接

  • 主要内容:1 什么是Java PrintWriter,2 Java PrintWriter的语法,3 Java PrintWriter的方法,4 Java PrintWriter的例子1 什么是Java PrintWriter Java PrintWriter类是Writer类的实现。它用于将格式化的对象表示形式打印到文本输出流。 2 Java PrintWriter的语法 3 Java PrintWriter的方法 方法 描述 PrintWriter append(char c) 输出指定的布

  • 问题内容: 在阅读有关Java I / O的知识时,我意识到可以通过两种方式写入标准输出。 以下是同时使用这两种技术的代码段 相对于其他使用,是否有任何性能优势? 问题答案: 一个快速的Google透露了Coderanch上的一个线程很有用。 还有其他几种进行控制台编写的方法,但是除了编写更少的代码外,使用一种或另一种似乎没有真正的好处,而且创建新的PrintWriter对象最终会占用更多的内存。

  • 问题内容: 晚上好,我想知道如何清除写入到PrintWriter的数据,即是否可以在打印后从PrintWriter删除数据? 在此servlet中,我在响应中打印一些文本,并在#表示的行上希望删除所有先前打印的数据并打印新内容: 注意:我尝试过out.flush(),但旧的打印文本仍然保留 问题答案: 创建一个内存使用。您可以从获取底层缓冲区,并在需要时清除它。

  • Java16引入了记录,这有助于在编写携带不可变数据的类时减少样板代码。当我尝试将记录用作bean时,我得到以下错误消息: 如何将记录用作?

  • 我有两位版画作家: 我想检查他们是否都打印到同一个文件,但与 或者 没用。此外,我希望能够检查打印作者是否像这两位一样打印到同一个位置,而不是带有文件路径的字符串: 有办法吗?