posted 11 years ago
Streams read and write bytes without changing them at all. You can read an image or sound file or unknown document type and process the raw bytes or write them back out to another stream. Readers read unicode characters which are (usually? always?) two bytes wide. Google for more on unicode and character encoding - it's a big topic. Readers often convert between unicode and ASCII one-byte-wide characters so transparently that I've never bothered to figure out just how they do it.