【发布时间】:2015-11-17 14:30:27
【问题描述】:
我知道PrintWriter如果我们想写格式化数据真的很好,我也知道使用BufferedWriter提高IO性能。
但我尝试过这样的事情,
PrintWriter pw = new PrintWriter(System.out);
pw.println("Statement 1");
pw.println("Statement 2");
//pw.flush();
我观察到当 flush 方法被注释时没有输出,但是当我取消注释时,我得到了想要的输出。
这只有在 PrintWriter 被缓冲的情况下才有可能。如果是这样,那么使用 BufferedWriter 包装 PrintWriter 然后写入它的意义何在?
虽然 javadoc 没有提到 PrintWriter 被缓冲的任何地方,但似乎是这样。
【问题讨论】:
-
所有写入器都有flush方法。
标签: java file-io java-io printwriter bufferedwriter