Reader implements buffering for an std::io::Read object.
Scanner provides a convenient interface for reading data such as
a file of newline-delimited lines of text. Successive calls to
the Scan method will step through the ‘tokens’ of a file, skipping
the bytes between the tokens. The specification of a token is
defined by a split function of type SplitFunc; the default split
function breaks the input into lines with line termination stripped. Split
functions are defined in this package for scanning a file into
lines, bytes, UTF-8-encoded runes, and space-delimited words. The
client may instead provide a custom split function.
Writer implements buffering for an std::io::Write object.
If an error occurs writing to a Writer, no more data will be
accepted and all subsequent writes, and flush, will return the error.
After all data has been written, the client should call the
flush method to guarantee all data has been forwarded to
the underlying std::io::Write.