buffered I/O
Reading or writing in big chunks through a memory buffer instead of one small system request at a time.
BufReader and BufWriter wrap a reader or writer with an in-memory buffer so many small reads or writes become a few large system calls; a BufWriter must be flushed (dropping it flushes, ignoring errors).
See also