This chapter explains the I/O abstractions provided by Java's java.io package: Streams (byte-oriented) and Readers/Writers (character-oriented). It covers the importance of closing streams, extending ...