Please note that the contents of this offline web site may be out of date. To access the most recent documentation visit the online version .
Note that links that point to online resources are green in color and will open in a new window.
We would love it if you could give us feedback about this material by filling this form (You have to be online to fill it)
Android APIs
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 .

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 byteOffset, int byteCount)
Reads up to byteCount bytes from this stream and stores them in the byte array buffer starting at byteOffset .
final int read (byte[] buffer)
Equivalent to read(buffer, 0, buffer.length) .
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 ()
This method was deprecated in API level 1. This method cannot be trusted to convert bytes to characters correctly. Wrap this stream with a BufferedReader instead.
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
From interface java.lang.AutoCloseable

Public Constructors

public DataInputStream ( InputStream in)

Added in 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 byteOffset, int byteCount)

Added in API level 1

Reads up to byteCount bytes from this stream and stores them in the byte array buffer starting at byteOffset . Returns the number of bytes actually read or -1 if the end of the stream has been reached.

public final int read (byte[] buffer)

Added in API level 1

Equivalent to read(buffer, 0, buffer.length) .

public final boolean readBoolean ()

Added in API level 1

Reads a boolean.

Returns
  • the next boolean value.

public final byte readByte ()

Added in API level 1

Reads an 8-bit byte value.

Returns
  • the next byte value.

public final char readChar ()

Added in API level 1

Reads a big-endian 16-bit character value.

Returns
  • the next char value.

public final double readDouble ()

Added in API level 1

Reads a big-endian 64-bit double value.

Returns
  • the next double value.

public final float readFloat ()

Added in API level 1

Reads a big-endian 32-bit float value.

Returns
  • the next float value.

public final void readFully (byte[] dst)

Added in API level 1

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

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

Added in 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.

public final int readInt ()

Added in API level 1

Reads a big-endian 32-bit integer value.

Returns
  • the next int value.

public final String readLine ()

Added in API level 1

This method was deprecated in API level 1.
This method cannot be trusted to convert bytes to characters correctly. Wrap this stream with a BufferedReader instead.

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.

public final long readLong ()

Added in API level 1

Reads a big-endian 64-bit long value.

Returns
  • the next long value.

public final short readShort ()

Added in API level 1

Reads a big-endian 16-bit short value.

Returns
  • the next short value.

public static final String readUTF ( DataInput in)

Added in API level 1

public final String readUTF ()

Added in API level 1

Reads a string encoded with modified UTF-8 .

Returns

public final int readUnsignedByte ()

Added in API level 1

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

Returns
  • the next unsigned byte value.

public final int readUnsignedShort ()

Added in API level 1

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

Returns
  • the next unsigned short value.

public final int skipBytes (int count)

Added in 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.