# Hierarchy For Package java.io

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.io.InputStream (implements java.lang.AutoCloseable)
    - java.io.ByteArrayInputStream
    - java.io.DataInputStream (implements java.io.DataInput)
  - java.io.OutputStream (implements java.lang.AutoCloseable)
    - java.io.ByteArrayOutputStream
    - java.io.DataOutputStream (implements java.io.DataOutput)
    - java.io.PrintStream
  - java.io.Reader (implements java.lang.AutoCloseable)
    - java.io.InputStreamReader
    - java.io.StringReader
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.io.IOException
        - java.io.EOFException
        - java.io.FileNotFoundException
        - java.io.InterruptedIOException
        - java.io.UnsupportedEncodingException
        - java.io.UTFDataFormatException
  - java.io.Writer (implements java.lang.AutoCloseable)
    - java.io.OutputStreamWriter
    - java.io.StringWriter (implements java.lang.Appendable)

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.DataInput
  - java.io.DataOutput
- java.io.Flushable
- java.io.Serializable