This chapter introduced you to the input and output classes provided by Java's I/O class library. Specific classes are defined for reading byte-oriented data based on the InputStream and OutputStream classes, whereas specific classes are defined for reading text-based data based on the Reader and Writer classes.
You can chain streams together to ensure that you are using the best stream for the data that you are reading and writing.