在Java中,使用BufferedWriter或直接写入文件有什么区别?

Sle*_*rig 4 java file-io bufferedwriter

可能重复:
在Java中,使用BufferedWriter附加到文件有什么好处?

我正在看的网站说

"BufferWriter类用于将文本写入字符输出流,缓冲字符,以便有效地写入单个字符,数组和字符串."

什么使它更有效,为什么?

Kri*_*han 5

BufferedWriter效率更高,因为它使用缓冲区而不是逐个字符编写.因此它减少I/O了磁盘的操作.数据在缓冲区中收集,并在缓冲区已满时写入文件.这就是为什么如果你没有调用flush方法,有时文件中没有写入数据的原因.即数据在缓冲区中收集,但程序在将它们写入文件之前退出.调用flush方法将导致数据写入文件,即使缓冲区未完全填充.