public class

DataInputStream

extends FilterInputStream
implements DataInput
java.lang.Object
   ↳ java.io.InputStream
     ↳ java.io.FilterInputStream
       ↳ java.io.DataInputStream

Class Overview

Wraps an existing InputStream and reads big-endian typed data from it. Typically, this stream has been written by a DataOutputStream. Types that can be read include byte, 16-bit short, 32-bit int, 32-bit float, 64-bit long, 64-bit double, byte strings, and strings encoded in modified UTF-8.

See Also

Summary

[Expand]
Inherited Fields
From class java.io.FilterInputStream
Public Constructors
DataInputStream(InputStream in)
Constructs a new DataInputStream on the InputStream in.
Public Methods
final int read(byte[] buffer, int offset, int length)
Reads at most length bytes from this stream and stores them in the byte array buffer starting at offset.
final int read(byte[] buffer)
Reads bytes from this stream into the byte array buffer.
final boolean readBoolean()
Reads a boolean.
final byte readByte()
Reads an 8-bit byte value.
final char readChar()
Reads a big-endian 16-bit character value.
final double readDouble()
Reads a big-endian 64-bit double value.
final float readFloat()
Reads a big-endian 32-bit float value.
final void readFully(byte[] dst)
Equivalent to readFully(dst, 0, dst.length);.
final void readFully(byte[] dst, int offset, int byteCount)
Reads byteCount bytes from this stream and stores them in the byte array dst starting at offset.
final int readInt()
Reads a big-endian 32-bit integer value.
final String readLine()
Returns a string containing the next line of text available from this stream.
final long readLong()
Reads a big-endian 64-bit long value.
final short readShort()
Reads a big-endian 16-bit short value.
final static String readUTF(DataInput in)
final String readUTF()
Reads a string encoded with modified UTF-8.
final int readUnsignedByte()
Reads an unsigned 8-bit byte value and returns it as an int.
final int readUnsignedShort()
Reads a big-endian 16-bit unsigned short value and returns it as an int.
final int skipBytes(int count)
Skips count number of bytes in this stream.
[Expand]
Inherited Methods
From class java.io.FilterInputStream
From class java.io.InputStream
From class java.lang.Object
From interface java.io.Closeable
From interface java.io.DataInput

Public Constructors

public DataInputStream (InputStream in)

Since: API Level 1

Constructs a new DataInputStream on the InputStream in. All reads are then filtered through this stream. Note that data read by this stream is not in a human readable format and was most likely created by a DataOutputStream.

Warning: passing a null source creates an invalid DataInputStream. All operations on such a stream will fail.

Parameters
in the source InputStream the filter reads from.

Public Methods

public final int read (byte[] buffer, int offset, int length)

Since: API Level 1

Reads at most length bytes from this stream and stores them in the byte array buffer starting at offset. Returns the number of bytes that have been read or -1 if no bytes have been read and the end of the stream has been reached.

Parameters
buffer the byte array in which to store the bytes read.
offset the initial position in buffer to store the bytes read from this stream.
length the maximum number of bytes to store in buffer.
Returns
  • the number of bytes that have been read or -1 if the end of the stream has been reached.
Throws
IOException if a problem occurs while reading from this stream.

public final int read (byte[] buffer)

Since: API Level 1

Reads bytes from this stream into the byte array buffer. Returns the number of bytes that have been read.

Parameters
buffer the buffer to read bytes into.
Returns
  • the number of bytes that have been read or -1 if the end of the stream has been reached.
Throws
IOException if a problem occurs while reading from this stream.

public final boolean readBoolean ()

Since: API Level 1

Reads a boolean.

Returns
  • the next boolean value.
Throws
IOException

public final byte readByte ()

Since: API Level 1

Reads an 8-bit byte value.

Returns
  • the next byte value.
Throws
IOException

public final char readChar ()

Since: API Level 1

Reads a big-endian 16-bit character value.

Returns
  • the next char value.
Throws
IOException

public final double readDouble ()

Since: API Level 1

Reads a big-endian 64-bit double value.

Returns
  • the next double value.
Throws
IOException

public final float readFloat ()

Since: API Level 1

Reads a big-endian 32-bit float value.

Returns
  • the next float value.
Throws
IOException

public final void readFully (byte[] dst)

Since: API Level 1

Equivalent to readFully(dst, 0, dst.length);.

Throws
IOException

public final void readFully (byte[] dst, int offset, int byteCount)

Since: API Level 1

Reads byteCount bytes from this stream and stores them in the byte array dst starting at offset. If byteCount is zero, then this method returns without reading any bytes. Otherwise, this method blocks until byteCount bytes have been read. If insufficient bytes are available, EOFException is thrown. If an I/O error occurs, IOException is thrown. When an exception is thrown, some bytes may have been consumed from the stream and written into the array.

Parameters
dst the byte array into which the data is read.
offset the offset in dst at which to store the bytes.
byteCount the number of bytes to read.
Throws
IOException

public final int readInt ()

Since: API Level 1

Reads a big-endian 32-bit integer value.

Returns
  • the next int value.
Throws
IOException

public final String readLine ()

Since: API Level 1

Returns a string containing the next line of text available from this stream. A line is made of zero or more characters followed by '\n', '\r', "\r\n" or the end of the stream. The string does not include the newline sequence.

Returns
  • the contents of the line or null if no characters have been read before the end of the stream.
Throws
IOException

public final long readLong ()

Since: API Level 1

Reads a big-endian 64-bit long value.

Returns
  • the next long value.
Throws
IOException

public final short readShort ()

Since: API Level 1

Reads a big-endian 16-bit short value.

Returns
  • the next short value.
Throws
IOException

public static final String readUTF (DataInput in)

Since: API Level 1

Throws
IOException

public final String readUTF ()

Since: API Level 1

Reads a string encoded with modified UTF-8.

Returns
Throws
IOException

public final int readUnsignedByte ()

Since: API Level 1

Reads an unsigned 8-bit byte value and returns it as an int.

Returns
  • the next unsigned byte value.
Throws
IOException

public final int readUnsignedShort ()

Since: API Level 1

Reads a big-endian 16-bit unsigned short value and returns it as an int.

Returns
  • the next unsigned short value.
Throws
IOException

public final int skipBytes (int count)

Since: API Level 1

Skips count number of bytes in this stream. Subsequent read()s will not return these bytes unless reset() is used. This method will not throw an EOFException if the end of the input is reached before count bytes where skipped.

Parameters
count the number of bytes to skip.
Returns
  • the number of bytes actually skipped.
Throws
IOException if a problem occurs during skipping.
See Also