Class DataInputStream

java.lang.Object
java.io.InputStream
java.io.DataInputStream
All Implemented Interfaces:
DataInput, AutoCloseable

public class DataInputStream extends InputStream implements DataInput
A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way. An application uses a data output stream to write data that can later be read by a data input stream. Since: JDK1.0, CLDC 1.0 See Also:DataOutputStream
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected InputStream
    The input stream.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a DataInputStream and saves its argument, the input stream in, for later use.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the number of bytes that can be read from this input stream without blocking.
    void
    Closes this input stream and releases any system resources associated with the stream.
    void
    mark(int readlimit)
    Marks the current position in this input stream.
    boolean
    Tests if this input stream supports the mark and reset methods.
    int
    Reads the next byte of data from this input stream.
    final int
    read(byte[] b)
    See the general contract of the read method of DataInput.
    final int
    read(byte[] b, int off, int len)
    Reads up to len bytes of data from this input stream into an array of bytes.
    final boolean
    See the general contract of the readBoolean method of DataInput.
    final byte
    See the general contract of the readByte method of DataInput.
    final char
    See the general contract of the readChar method of DataInput.
    final double
    See the general contract of the readDouble method of DataInput.
    final float
    See the general contract of the readFloat method of DataInput.
    final void
    readFully(byte[] b)
    See the general contract of the readFully method of DataInput.
    final void
    readFully(byte[] b, int off, int len)
    See the general contract of the readFully method of DataInput.
    final int
    See the general contract of the readInt method of DataInput.
    final long
    See the general contract of the readLong method of DataInput.
    final short
    See the general contract of the readShort method of DataInput.
    final int
    See the general contract of the readUnsignedByte method of DataInput.
    final int
    See the general contract of the readUnsignedShort method of DataInput.
    final String
    See the general contract of the readUTF method of DataInput.
    static final String
    Reads from the stream in a representation of a Unicode character string encoded in Java modified UTF-8 format; this string of characters is then returned as a String.
    void
    Repositions this stream to the position at the time the mark method was last called on this input stream.
    long
    skip(long n)
    Skips over and discards n bytes of data from the input stream.
    final int
    skipBytes(int n)
    See the general contract of the skipBytes method of DataInput.

    Methods inherited from class Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • DataInputStream

      public DataInputStream(InputStream in)
      Creates a DataInputStream and saves its argument, the input stream in, for later use. in - the input stream.
  • Method Details

    • available

      public int available() throws IOException
      Returns the number of bytes that can be read from this input stream without blocking. This method simply performs in.available() and returns the result.
      Overrides:
      available in class InputStream
      Throws:
      IOException
    • close

      public void close() throws IOException
      Closes this input stream and releases any system resources associated with the stream. This method simply performs in.close().
      Specified by:
      close in interface AutoCloseable
      Overrides:
      close in class InputStream
      Throws:
      IOException
    • mark

      public void mark(int readlimit)
      Marks the current position in this input stream. A subsequent call to the reset method repositions this stream at the last marked position so that subsequent reads re-read the same bytes. The readlimit argument tells this input stream to allow that many bytes to be read before the mark position gets invalidated. This method simply performs in.mark(readlimit).
      Overrides:
      mark in class InputStream
    • markSupported

      public boolean markSupported()
      Tests if this input stream supports the mark and reset methods. This method simply performs in.markSupported().
      Overrides:
      markSupported in class InputStream
    • read

      public int read() throws IOException
      Reads the next byte of data from this input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown. This method simply performs in.read() and returns the result.
      Specified by:
      read in class InputStream
      Throws:
      IOException
    • read

      public final int read(byte[] b) throws IOException
      See the general contract of the read method of DataInput. Bytes for this operation are read from the contained input stream.
      Overrides:
      read in class InputStream
      Throws:
      IOException
    • read

      public final int read(byte[] b, int off, int len) throws IOException
      Reads up to len bytes of data from this input stream into an array of bytes. This method blocks until some input is available. This method simply performs in.read(b, off, len) and returns the result.
      Overrides:
      read in class InputStream
      Throws:
      IOException
    • readBoolean

      public final boolean readBoolean() throws IOException
      See the general contract of the readBoolean method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readBoolean in interface DataInput
      Throws:
      IOException
    • readByte

      public final byte readByte() throws IOException
      See the general contract of the readByte method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readByte in interface DataInput
      Throws:
      IOException
    • readChar

      public final char readChar() throws IOException
      See the general contract of the readChar method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readChar in interface DataInput
      Throws:
      IOException
    • readDouble

      public final double readDouble() throws IOException
      See the general contract of the readDouble method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readDouble in interface DataInput
      Throws:
      IOException
    • readFloat

      public final float readFloat() throws IOException
      See the general contract of the readFloat method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readFloat in interface DataInput
      Throws:
      IOException
    • readFully

      public final void readFully(byte[] b) throws IOException
      See the general contract of the readFully method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readFully in interface DataInput
      Throws:
      IOException
    • readFully

      public final void readFully(byte[] b, int off, int len) throws IOException
      See the general contract of the readFully method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readFully in interface DataInput
      Throws:
      IOException
    • readInt

      public final int readInt() throws IOException
      See the general contract of the readInt method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readInt in interface DataInput
      Throws:
      IOException
    • readLong

      public final long readLong() throws IOException
      See the general contract of the readLong method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readLong in interface DataInput
      Throws:
      IOException
    • readShort

      public final short readShort() throws IOException
      See the general contract of the readShort method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readShort in interface DataInput
      Throws:
      IOException
    • readUnsignedByte

      public final int readUnsignedByte() throws IOException
      See the general contract of the readUnsignedByte method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readUnsignedByte in interface DataInput
      Throws:
      IOException
    • readUnsignedShort

      public final int readUnsignedShort() throws IOException
      See the general contract of the readUnsignedShort method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readUnsignedShort in interface DataInput
      Throws:
      IOException
    • readUTF

      public final String readUTF() throws IOException
      See the general contract of the readUTF method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      readUTF in interface DataInput
      Throws:
      IOException
    • readUTF

      public static final String readUTF(DataInput in) throws IOException
      Reads from the stream in a representation of a Unicode character string encoded in Java modified UTF-8 format; this string of characters is then returned as a String. The details of the modified UTF-8 representation are exactly the same as for the readUTF method of DataInput.
      Throws:
      IOException
    • reset

      public void reset() throws IOException
      Repositions this stream to the position at the time the mark method was last called on this input stream. This method simply performs in.reset(). Stream marks are intended to be used in situations where you need to read ahead a little to see what's in the stream. Often this is most easily done by invoking some general parser. If the stream is of the type handled by the parse, it just chugs along happily. If the stream is not of that type, the parser should toss an exception when it fails. If this happens within readlimit bytes, it allows the outer code to reset the stream and try another parser.
      Overrides:
      reset in class InputStream
      Throws:
      IOException
    • skip

      public long skip(long n) throws IOException
      Skips over and discards n bytes of data from the input stream. The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly 0. The actual number of bytes skipped is returned. This method simply performs in.skip(n).
      Overrides:
      skip in class InputStream
      Throws:
      IOException
    • skipBytes

      public final int skipBytes(int n) throws IOException
      See the general contract of the skipBytes method of DataInput. Bytes for this operation are read from the contained input stream.
      Specified by:
      skipBytes in interface DataInput
      Throws:
      IOException