Java provides several classes for basic input and output, a few of which are discussed in this chapter. The basic
classes can be used to read and write to files, sockets, and the console. They also provide
for working with files and directories and for serializing data. Java IO classes throw exceptions, including the
IOException, which needs to be handled.
Java IO classes also support formatting data, compressing and decompressing streams, encrypting and decrypting, and communicating between threads using piped streams.
The new IO (NIO) APIs that were introduced in Java 1.4 provide additional IO capabilities, including buffering, file locking, regular expression matching, scalable networking, and buffer management.
Java uses three standard streams:
in, out, and
System.in is the standard input stream that is used
to get data from the user to a program.
byte teamName = new byte; int size = System.in.read(teamName); System.out.write(teamName,0,size);
System.out is the standard output stream that is
used to output data from a program to the user.
System.err is the standard error stream that is
used to output error data from a program to the user.
System.err.println("Not enough players");
Note that each of these methods can throw an
Figure 11-1 shows a class hierarchy for commonly used readers, writers, and input and output ...