In addition to the classes and interfaces discussed in this chapter, java.io contains the following classes and interfaces:
Represents a file on the native file system. You can create a File object for a file on the native file system and then query the object for information about that file, such as its full path name.
Represents a file handle (or descriptor) to an open file or an open socket. You will not typically use this class.
Breaks the contents of a stream into tokens. Tokens are the smallest unit recognized by a text-parsing algorithm (such as words, symbols, and so on). A StreamTokenizer object can be used to parse any text file. For example, you could use it to parse a source file into variable names, operators, and so on, or to parse an HTML file into HTML tags.
Used by the list method in the File class to determine which files in a directory to list. The FilenameFilter accepts or rejects files, based on their names. You could use FilenameFilter to implement simple regular expression style file search patterns, such as foo*.
You also can find some other input and output streams in the java.util.zip package, including these:
CheckedInputStream and CheckedOutputStream
An input and output stream pair that maintains a checksum as the data is being read or written.
DeflaterOutputStream and InflaterInputStream
Compresses or uncompresses the data as it is being read or written.
GZIPInputStream and GZIPOutputStream
Reads and writes compressed data in the GZIP format.
ZipInputStream and ZipOutputStream
Reads and writes compressed data in the ZIP format.