The Filter Stream Subclasses
The java.io package contains many useful
filter stream classes. The
BufferedInputStream
and
BufferedOutputStream
classes buffer reads and writes by first
putting data into a buffer (an internal array of bytes). Thus, an
application can read or write bytes to the stream without necessarily
calling the underlying native methods. The data is read from or
written into the buffer in blocks; subsequent accesses go straight to
the buffer. This improves performance in many situations. Buffered
input streams also allow the reader to back up and reread data.
The
java.io.PrintStream
class, which
System.out and System.err are
instances of, allows very simple printing of primitive values,
objects, and string literals. It uses the platform’s default
character encoding to convert characters into bytes. This class traps
all IOExceptions and is primarily intended for
debugging. System.out and
System.err are the most popular examples of the
PrintStream class, but you can connect a
PrintStream filter to other output streams as
well. For example, you can chain a PrintStream to
a FileOutputStream to easily write text into a
file.
The
PushbackInputStream
class has a one-byte pushback buffer so a
program can “unread” the last character read. The next
time data is read from the stream, the unread character is reread.
The DataInputStream and
DataOutputStream classes read and write primitive Java data types and strings in a machine-independent way. (Big-endian for integer types, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access