DataInputStream - JRE Emulation | JRE Emulation
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)
Reads up to byte.length bytes of data from this input stream into an array of bytes.
final int read(byte[] buffer, int byteOffset, int byteCount)
Reads up to len bytes of data from this input stream into an array of bytes.
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 is deprecated. 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 String readUTF()
Reads a string encoded with modified UTF-8.
final static String readUTF(DataInput in)
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.
Inherited Methods
[Expand]
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)

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)

Reads up to byte.length bytes of data from this input stream into an array of bytes. This method blocks until some input is available.

This method simply performs the call read(b, 0, b.length) and returns the result. It is important that it does not do in.read(b) instead; certain subclasses of FilterInputStream depend on the implementation strategy actually used.

Parameters
buffer 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

public final int read (byte[] buffer, int byteOffset, int byteCount)

Reads up to len bytes of data from this input stream into an array of bytes. If len is not zero, the method blocks until some input is available; otherwise, no bytes are read and 0 is returned.

This method simply performs in.read(b, off, len) and returns the result.

Parameters
buffer the buffer into which the data is read.
byteOffset the start offset in the destination array b
byteCount 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

public final boolean readBoolean ()

Reads a boolean.

Returns
  • the next boolean value.
Throws
IOException

public final byte readByte ()

Reads an 8-bit byte value.

Returns
  • the next byte value.
Throws
IOException

public final char readChar ()

Reads a big-endian 16-bit character value.

Returns
  • the next char value.
Throws
IOException

public final double readDouble ()

Reads a big-endian 64-bit double value.

Returns
  • the next double value.
Throws
IOException

public final float readFloat ()

Reads a big-endian 32-bit float value.

Returns
  • the next float value.
Throws
IOException

public final void readFully (byte[] dst)

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

Throws
IOException

public 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. 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 ()

Reads a big-endian 32-bit integer value.

Returns
  • the next int value.
Throws
IOException

public final String readLine ()

This method is deprecated.
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.
Throws
IOException

public final long readLong ()

Reads a big-endian 64-bit long value.

Returns
  • the next long value.
Throws
IOException

public final short readShort ()

Reads a big-endian 16-bit short value.

Returns
  • the next short value.
Throws
IOException

public final String readUTF ()

Reads a string encoded with modified UTF-8.

Returns
Throws
IOException

public static final String readUTF (DataInput in)

Throws
IOException

public final int readUnsignedByte ()

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 ()

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)

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