java.io.InputStream (implements java.io.Closeable)
    * java.io.ByteArrayInputStream
    * java.io.FileInputStream
    * java.io.FilterInputStream
    	o java.io.BufferedInputStream
	    o java.io.DataInputStream 
				(implements java.io.DataInput)
		o java.io.LineNumberInputStream
    	o java.io.PushbackInputStream
    * java.io.ObjectInputStream 
				(implements java.io.ObjectInput,
    			java.io.ObjectStreamConstants)
    * java.io.PipedInputStream
    * java.io.SequenceInputStream
    * java.io.StringBufferInputStream

java.io.OutputStream (implements java.io.Closeable, 
					java.io.Flushable)
    * java.io.ByteArrayOutputStream
    * java.io.FileOutputStream
    * java.io.FilterOutputStream
    	o java.io.BufferedOutputStream
    	o java.io.DataOutputStream 
			(implements java.io.DataOutput)
    	o java.io.PrintStream 
			(implements java.lang.Appendable,
    		java.io.Closeable)
    * java.io.ObjectOutputStream 
		(implements java.io.ObjectOutput,
    	java.io.ObjectStreamConstants)
    * java.io.PipedOutputStream

java.io.Reader (implements java.io.Closeable, 
		java.lang.Readable)
    * java.io.BufferedReader
    	o java.io.LineNumberReader
    * java.io.CharArrayReader
    * java.io.FilterReader
    	o java.io.PushbackReader
    * java.io.InputStreamReader
    	o java.io.FileReader
    * java.io.PipedReader
    * java.io.StringReader

java.io.Writer (implements java.lang.Appendable,
    java.io.Closeable, java.io.Flushable)
    * java.io.BufferedWriter
    * java.io.CharArrayWriter
    * java.io.FilterWriter
    * java.io.OutputStreamWriter
    	o java.io.FileWriter
    * java.io.PipedWriter
    * java.io.PrintWriter
    * java.io.StringWriter
