This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
"Prints formatted representations of objects to a text-output stream. This class implements all of the print methods found in PrintStream. It does not contain methods for writing raw bytes, for which a program should use unencoded byte streams."
In Java I/O, there are two kinds of classes: streams, which are meant for reading and writing bytes directly from and to a file, network connection or other communication medium, and readers and writers, which are meant for reading and writing text.
Readers and writers are something that builds on streams: they use streams below the covers to read and write data, and what they add is interpreting the raw bytes as characters, using a character encoding.
A PrintWriter is obviously a writer, meant for writing text; it does not provide a way to directly write raw bytes (without using a character encoding).