## Uses of Interface
java.io.DataInput

Packages that use DataInput
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
`interface` `ObjectInput` ObjectInput extends the DataInput interface to include the reading of objects.

Classes in java.io that implement DataInput
`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
`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
`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
`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
`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`.