Das Zusammenspiel der java.io Klassen InputStream, OutputStream, Reader und Writer und der verwendeten Methoden ist einfacher zu zeigen als zu beschreiben. Für den Oracle Certified Professional Java Programmer habe ich mir deswegen ein Klassendiagramm erstellt.