## 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`.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.