## Uses of Interface
java.io.DataInput

- Packages that use DataInput
  Package | Description
  --- | ---
  java.io | Provides for system input and output through data streams, serialization and the file system.
  java.rmi.server | Provides classes and interfaces for supporting the server side of RMI.
  javax.imageio.stream | A package of the Java Image I/O API dealing with low-level I/O from files and streams.

- - ### Uses of DataInput in java.io

    Subinterfaces of DataInput in java.io
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `ObjectInput` | ObjectInput extends the DataInput interface to include the reading of objects.

    Classes in java.io that implement DataInput
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DataInputStream` | A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way.
    `class` | `ObjectInputStream` | An ObjectInputStream deserializes primitive data and objects previously written using an ObjectOutputStream.
    `class` | `RandomAccessFile` | Instances of this class support both reading and writing to a random access file.

    Methods in java.io with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static String` | DataInputStream.`readUTF​(DataInput in)` | Reads from the stream `in` a representation of a Unicode character string encoded in modified UTF-8 format; this string of characters is then returned as a `String`.

  - ### Uses of DataInput in java.rmi.server

    Methods in java.rmi.server with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static UID` | UID.`read​(DataInput in)` | Constructs and returns a new `UID` instance by unmarshalling a binary representation from an `DataInput` instance.

  - ### Uses of DataInput in javax.imageio.stream

    Subinterfaces of DataInput in javax.imageio.stream
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `ImageInputStream` | A seekable input stream interface for use by `ImageReader`s.
    `interface` | `ImageOutputStream` | A seekable output stream interface for use by `ImageWriter`s.

    Classes in javax.imageio.stream that implement DataInput
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `FileCacheImageInputStream` | An implementation of `ImageInputStream` that gets its input from a regular `InputStream`.
    `class` | `FileCacheImageOutputStream` | An implementation of `ImageOutputStream` that writes its output to a regular `OutputStream`.
    `class` | `FileImageInputStream` | An implementation of `ImageInputStream` that gets its input from a `File` or `RandomAccessFile`.
    `class` | `FileImageOutputStream` | An implementation of `ImageOutputStream` that writes its output directly to a `File` or `RandomAccessFile`.
    `class` | `ImageInputStreamImpl` | An abstract class implementing the `ImageInputStream` interface.
    `class` | `ImageOutputStreamImpl` | An abstract class implementing the `ImageOutputStream` interface.
    `class` | `MemoryCacheImageInputStream` | An implementation of `ImageInputStream` that gets its input from a regular `InputStream`.
    `class` | `MemoryCacheImageOutputStream` | An implementation of `ImageOutputStream` that writes its output to a regular `OutputStream`.