大概他们之所以使用a是
FileWriter因为他们想写入文件。双方
BufferedWriter并
PrintWriter必须得到另一位作家写-
你需要 一些 最终目的地。
(我个人不喜欢,
FileWriter因为它不允许您指定编码。我更喜欢使用
FileOutputStream包裹在中
OutputStreamWriter,但这是另一回事。)
BufferedWriter如您所说,它用于缓冲-尽管它不缓冲 所有 输出,但只是固定数量的输出(缓冲的大小)。它会向底层作者创建“
chunkier”写入。
至于-
well的用法
PrintWriter,它公开了一些额外的方法,例如
println。我个人不喜欢它,因为它会吞下异常(您必须使用进行显式检查
checkError,但仍然无法提供详细信息,而且我认为我
从未 见过使用过它),但这又取决于您在做什么。该
PrintWriter传递的
BufferedWriter为 它的 目的地。
因此,您所显示的部分下面的代码可能
PrintWriter会写入,将写入
BufferedWriter,将(在其缓冲区已满,或者刷新或关闭时)写入
FileWriter,进而将字符数据转换为磁盘上的字节。



