Question: what is the difference in class hierarchies of reader/writer and inputstream and outputstream?
Answer: OutputStream uses bare bytes, whereas Writer uses encoded charaters. The Reader/Writer class hierarchy is character-oriented, and the Input Stream/Output Stream class hierarchy is byte-oriented. Basically there are two types of streams.