This book assumes you have a basic familiarity with Java. You should be thoroughly familiar with the syntax of the language. You should be comfortable with object-oriented programming, including terminology like instances, objects, and classes, and you should know the difference between these terms. You should know what a reference is and what that means for passing arguments to and returning values from methods. You should have written simple applications and applets.
For the most part, I try to keep the examples relatively
straightforward so that they require a minimum of understanding of
other parts of the class library outside the I/O classes. This may
lead some to deride these as “toy examples.” However, I
find that such examples are far more conducive to understanding and
learning than full-blown sophisticated programs that fill page after
page with graphical user interface code just to demonstrate a
two-line point about I/O. Occasionally, however, a graphical example
is simply too tempting to ignore, as in the
StreamedTextArea class shown in Chapter 2 or the File Viewer application developed
throughout most of the book. I will try to keep the AWT material to a
minimum, but a familiarity with 1.1 AWT basics will be assumed.
When you encounter a topic that requires a deeper understanding for I/O than is customary—for instance, the exact nature of strings—I’ll cover that topic as well, at least briefly. However, this is not a language tutorial, and the emphasis will always be on the I/O-specific features.