CharReader is a buffered reader with some difference with the standard one:

It's suitable when you'd like to read UTF8 lines and aren't sure the data are kind enough.

You may either read a single char, or read a line.

When reading a line, you pass two parameters:

All errors are io::Error: