java.lang.Object | ||
↳ | java.io.InputStream | |
↳ | java.io.DataInputStream |
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.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
protected InputStream | in | The input stream. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
DataInputStream(InputStream in)
Creates a
DataInputStream and saves its argument, the input
stream in , for later use. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int |
available()
Returns the number of bytes that can be read from this input stream without
blocking.
| ||||||||||
void |
close()
Closes this input stream and releases any system resources associated with
the stream.
| ||||||||||
synchronized void |
mark(int readlimit)
Marks the current position in this input stream.
| ||||||||||
boolean |
markSupported()
Tests if this input stream supports the
mark and
reset methods. | ||||||||||
final int |
read(byte[] b)
See the general contract of the
read method of
DataInput . | ||||||||||
int |
read()
Reads the next byte of data from this input stream.
| ||||||||||
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 |
readBoolean()
See the general contract of the
readBoolean method of
DataInput . | ||||||||||
final byte |
readByte()
See the general contract of the
readByte method of
DataInput . | ||||||||||
final char |
readChar()
See the general contract of the
readChar method of
DataInput . | ||||||||||
double |
readDouble()
See the general contract of the
readDouble method of
DataInput . | ||||||||||
float |
readFloat()
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 |
readInt()
See the general contract of the
readInt method of
DataInput . | ||||||||||
final long |
readLong()
See the general contract of the
readLong method of
DataInput . | ||||||||||
final short |
readShort()
See the general contract of the
readShort method of
DataInput . | ||||||||||
final String |
readUTF()
See the general contract of the
readUTF method of
DataInput . | ||||||||||
final static String |
readUTF(DataInput in)
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 . | ||||||||||
final int |
readUnsignedByte()
See the general contract of the
readUnsignedByte method of
DataInput . | ||||||||||
final int |
readUnsignedShort()
See the general contract of the
readUnsignedShort method of
DataInput . | ||||||||||
synchronized void |
reset()
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 . |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
Creates a DataInputStream
and saves its argument, the input
stream in
, for later use.
in | the input stream. |
---|
Returns the number of bytes that can be read from this input stream without blocking.
This method simply performs in.available(n)
and returns the
result.
IOException | if an I/O error occurs. |
---|
Closes this input stream and releases any system resources associated with
the stream. This method simply performs in.close()
.
IOException | if an I/O error occurs. |
---|
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)
.
readlimit | the maximum limit of bytes that can be read before the mark position becomes invalid. |
---|
Tests if this input stream supports the mark
and
reset
methods. This method simply performs
in.markSupported()
.
true
if this stream type supports the mark
and reset
method; false
otherwise.
See the general contract of the read
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
b | the buffer into which the data is read. |
---|
-1
if
there is no more data because the end of the stream has been reached.IOException | if an I/O error occurs. |
---|
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.
-1
if the end of the stream is
reached.IOException | if an I/O error occurs. |
---|
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.
b | the buffer into which the data is read. |
---|---|
off | the start offset of the data. |
len | the maximum number of bytes read. |
-1
if
there is no more data because the end of the stream has been reached.IOException | if an I/O error occurs. |
---|
See the general contract of the readBoolean
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
boolean
value read.EOFException | if this input stream has reached the end. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readByte
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
byte
.EOFException | if this input stream has reached the end. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readChar
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
EOFException | if this input stream reaches the end before reading two bytes. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readDouble
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
double
.EOFException | if this input stream reaches the end before reading eight bytes. |
---|---|
IOException | the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs. |
See the general contract of the readFloat
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
float
.EOFException | if this input stream reaches the end before reading four bytes. |
---|---|
IOException | the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs. |
See the general contract of the readFully
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
b | the buffer into which the data is read. |
---|
EOFException | if this input stream reaches the end before reading all the bytes. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readFully
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
b | the buffer into which the data is read. |
---|---|
off | the start offset of the data. |
len | the number of bytes to read. |
EOFException | if this input stream reaches the end before reading all the bytes. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readInt
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
int
.EOFException | if this input stream reaches the end before reading four bytes. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readLong
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
long
.EOFException | if this input stream reaches the end before reading eight bytes. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readShort
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
EOFException | if this input stream reaches the end before reading two bytes. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readUTF
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
EOFException | if this input stream reaches the end before reading all the bytes. |
---|---|
IOException | if an I/O error occurs. |
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
.
in | a data input stream. |
---|
EOFException | if the input stream reaches the end before all the bytes. |
---|---|
IOException | if an I/O error occurs. |
UTFDataFormatException | if the bytes do not represent a valid UTF-8 encoding of a Unicode string. |
See the general contract of the readUnsignedByte
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
EOFException | if this input stream has reached the end. |
---|---|
IOException | if an I/O error occurs. |
See the general contract of the readUnsignedShort
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
EOFException | if this input stream reaches the end before reading two bytes. |
---|---|
IOException | if an I/O error occurs. |
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.
IOException | if the stream has not been marked or if the mark has been invalidated. |
---|
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)
.
n | the number of bytes to be skipped. |
---|
IOException | if an I/O error occurs. |
---|
See the general contract of the skipBytes
method of
DataInput
.
Bytes for this operation are read from the contained input stream.
n | the number of bytes to be skipped. |
---|
IOException | if an I/O error occurs. |
---|