# Interface ObjectInput

All Superinterfaces:
  `AutoCloseable, DataInput`

All Known Implementing Classes:
  `ObjectInputStream`

public interface ObjectInput extends DataInput, AutoCloseable
ObjectInput extends the DataInput interface to include the reading of objects. DataInput includes methods for the input of primitive types, ObjectInput extends that interface to include objects, arrays, and Strings.

Since:
  1.1
See Also:
  - `InputStream`
  - `ObjectOutputStream`
  - `ObjectInputStream`

## Method Summary

Modifier and Type
Method
Description
`int`
`available()`
Returns the number of bytes that can be read without blocking.
`void`
`close()`
Closes the input stream.
`int`
`read()`
Reads a byte of data.
`int`
`read(byte[] b)`
Reads into an array of bytes.
`int`
`read(byte[] b, int off, int len)`
Reads into an array of bytes.
`Object`
`readObject()`
Read and return an object.
`long`
`skip(long n)`
Skips n bytes of input.

### Methods declared in interface DataInput

`readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, skipBytes`
Modifier and Type
Method
Description
`boolean`
`readBoolean()`
Reads one input byte and returns `true` if that byte is nonzero, `false` if that byte is zero.
`byte`
`readByte()`
Reads and returns one input byte.
`char`
`readChar()`
Reads two input bytes and returns a `char` value.
`double`
`readDouble()`
Reads eight input bytes and returns a `double` value.
`float`
`readFloat()`
Reads four input bytes and returns a `float` value.
`void`
`readFully(byte[] b)`
Reads some bytes from an input stream and stores them into the buffer array `b`.
`void`
`readFully(byte[] b, int off, int len)`
Reads `len` bytes from an input stream.
`int`
`readInt()`
Reads four input bytes and returns an `int` value.
`String`
`readLine()`
Reads the next line of text from the input stream.
`long`
`readLong()`
Reads eight input bytes and returns a `long` value.
`short`
`readShort()`
Reads two input bytes and returns a `short` value.
`int`
`readUnsignedByte()`
Reads one input byte, zero-extends it to type `int`, and returns the result, which is therefore in the range `0` through `255`.
`int`
`readUnsignedShort()`
Reads two input bytes and returns an `int` value in the range `0` through `65535`.
`String`
`readUTF()`
Reads in a string that has been encoded using a modified UTF-8 format.
`int`
`skipBytes(int n)`
Makes an attempt to skip over `n` bytes of data from the input stream, discarding the skipped bytes.

## Method Details

### readObject

Object readObject() throws ClassNotFoundException, IOException
Read and return an object. The class that implements this interface defines where the object is "read" from.

Returns:
  the object read from the stream
Throws:
  `ClassNotFoundException` - If the class of a serialized object cannot be found.
  `IOException` - If any of the usual Input/Output related exceptions occur.

### read

int read() throws IOException
Reads a byte of data. This method will block if no input is available.

Returns:
  the byte read, or -1 if the end of the stream is reached.
Throws:
  `IOException` - If an I/O error has occurred.

### read

int read(byte[] b) throws IOException
Reads into an array of bytes. This method will block until some input is available.

Parameters:
  `b` - the buffer into which the data is read
Returns:
  the total number of bytes read into the buffer, or `-1` if there is no more data because the end of the stream has been reached.
Throws:
  `IOException` - If an I/O error has occurred.

### read

int read(byte[] b, int off, int len) throws IOException
Reads into an array of bytes. This method will block until some input is available.

Parameters:
  `b` - the buffer into which the data is read
  `off` - the start offset of the data
  `len` - the maximum number of bytes read
Returns:
  the total number of bytes read into the buffer, or `-1` if there is no more data because the end of the stream has been reached.
Throws:
  `IOException` - If an I/O error has occurred.
  `IndexOutOfBoundsException` - If `off` is negative, `len` is negative, or `len` is greater than `b.length - off`

### skip

long skip(long n) throws IOException
Skips n bytes of input.

Parameters:
  `n` - the number of bytes to be skipped
Returns:
  the actual number of bytes skipped.
Throws:
  `IOException` - If an I/O error has occurred.

### available

int available() throws IOException
Returns the number of bytes that can be read without blocking.

Returns:
  the number of available bytes.
Throws:
  `IOException` - If an I/O error has occurred.

### close

void close() throws IOException
Closes the input stream. Must be called to release any resources associated with the stream.

Specified by:
  `close` in interface `AutoCloseable`
Throws:
  `IOException` - If an I/O error has occurred.