PrintWriter is a class which takes either an OutputStream or Writer and
provides convenience methods for printing common data types in a human
readable format on the stream. No IOExceptions are thrown by this class.
Instead, callers should call checkError() to see if a problem has been
encountered in this Writer.