我知道如果我们想要写格式化数据,
我注意到当注释掉flush方法时没有输出,但是取消注释后就可以得到期望的输出。只有PrintWriter被缓冲才可能这样。那么,使用BufferedWriter包装PrintWriter并写入它有什么意义呢?虽然javadoc没有在任何地方提到PrintWriter是被缓冲的,但它似乎确实被缓冲了。
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是被缓冲的,但它似乎确实被缓冲了。