Chapter 15. Readers and Writers
A language that supports international text
must separate the reading and writing of raw
bytes from the reading and writing of characters, since in an
international system they are no longer the same thing. Classes that
read characters must be able to parse a variety of character
encodings, not just ASCII, and translate them into the
language’s native character set. Classes that write characters
must be able to translate the language’s native character set
into a variety of formats and write those. In Java this task is
performed by the Reader
and
Writer
classes.
You’re probably going to experience a little
déjà vu. The
java.io.Writer
class is modeled on the
java.io.OutputStream
class. The
java.io.Reader
class is modeled on the
java.io.InputStream
class. The names and
signatures of the members of the Reader
and
Writer
classes are similar (sometimes identical)
to the names and signatures of the members of the
InputStream
and OutputStream
classes. The patterns these classes follow are similar as well.
Filtered input and output streams are chained to other streams in
their constructors. Similarly, filtered readers and writers are
chained to other readers and writers in their constructors.
InputStream
and OutputStream
are abstract superclasses that identify common functionality in the
concrete subclasses. Likewise, Reader
and
Writer
are abstract superclasses that identify common functionality in the concrete subclasses. The difference between readers and ...
Get Java I/O now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.