public class DataInputStream extends FilterInputStreamimplements DataInput
DataInputStream is not necessarily safe for multithreaded access. Thread safety is optional and is the responsibility of users of methods in this class.
DataOutputStream
in| Constructor and Description |
|---|
DataInputStream(InputStream
Creates a DataInputStream that uses the specified underlying InputStream.
|
| Modifier and Type | Method and Description |
|---|---|
int |
read(byte[] b)
Reads some number of bytes from the contained input stream and stores them into the buffer array
b.
|
int |
read(byte[] b, int off, int len)
Reads up to
len bytes of data from the contained input stream into an array of bytes.
|
boolean |
readBoolean()
See the general contract of the
readBoolean method of
DataInput.
|
byte |
readByte()
See the general contract of the
readByte method of
DataInput.
|
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.
|
void |
readFully(byte[] b)
See the general contract of the
readFully method of
DataInput.
|
void |
readFully(byte[] b, int off, int len)
See the general contract of the
readFully method of
DataInput.
|
int |
readInt()
See the general contract of the
readInt method of
DataInput.
|
String |
readLine()
Deprecated.
This method does not properly convert bytes to characters. As of JDK 1.1, the preferred way to read lines of text is via the
BufferedReader.readLine() method. Programs that use the DataInputStream class to read lines can be converted to use the BufferedReader class by replacing code of the form:
with:
|
long |
readLong()
See the general contract of the
readLong method of
DataInput.
|
short |
readShort()
See the general contract of the
readShort method of
DataInput.
|
int |
readUnsignedByte()
See the general contract of the
readUnsignedByte method of
DataInput.
|
int |
readUnsignedShort()
See the general contract of the
readUnsignedShort method of
DataInput.
|
String |
readUTF()
See the general contract of the
readUTF method of
DataInput.
|
static String |
readUTF(DataInput
Reads from the stream
in a representation of a Unicode character string encoded in
modified UTF-8 format; this string of characters is then returned as a
String.
|
int |
skipBytes(int n)
See the general contract of the
skipBytes method of
DataInput.
|
available, close, mark, markSupported, read, reset, skippublic DataInputStream(InputStreamin)
in - the specified input stream
public final int read(byte[] b)
throws IOException
b. The number of bytes actually read is returned as an integer. This method blocks until input data is available, end of file is detected, or an exception is thrown.
If b is null, a NullPointerException is thrown. If the length of b is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If no byte is available because the stream is at end of file, the value -1 is returned; otherwise, at least one byte is read and stored into b.
The first byte read is stored into element b[0], the next one into b[1], and so on. The number of bytes read is, at most, equal to the length of b. Let k be the number of bytes actually read; these bytes will be stored in elements b[0] through b[k-1], leaving elements b[k] through b[b.length-1] unaffected.
The read(b) method has the same effect as:
read(b, 0, b.length)
read in class
FilterInputStream
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 the first byte cannot be read for any reason other than end of file, the stream has been closed and the underlying input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in ,
InputStream.read(byte[], int, int)
public final int read(byte[] b,
int off,
int len)
throws IOException
len bytes of data from the contained input stream into an array of bytes. An attempt is made to read as many as
len bytes, but a smaller number may be read, possibly zero. The number of bytes actually read is returned as an integer.
This method blocks until input data is available, end of file is detected, or an exception is thrown.
If len is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If no byte is available because the stream is at end of file, the value -1 is returned; otherwise, at least one byte is read and stored into b.
The first byte read is stored into element b[off], the next one into b[off+1], and so on. The number of bytes read is, at most, equal to len. Let k be the number of bytes actually read; these bytes will be stored in elements b[off] through b[off+k-1], leaving elements b[off+k] through b[off+len-1] unaffected.
In every case, elements b[0] through b[off] and elements b[off+len] through b[b.length-1] are unaffected.
read in class
FilterInputStream
b - the buffer into which the data is read.
off - the start offset in the destination array
b
len - the maximum number of bytes read.
-1 if there is no more data because the end of the stream has been reached.
NullPointerException - If
b is
null.
IndexOutOfBoundsException - If
off is negative,
len is negative, or
len is greater than
b.length - off
IOException - if the first byte cannot be read for any reason other than end of file, the stream has been closed and the underlying input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in ,
InputStream.read(byte[], int, int)
public final void readFully(byte[] b)
throws IOException
readFully method of
DataInput.
Bytes for this operation are read from the contained input stream.
readFully in interface
DataInput
b - the buffer into which the data is read.
EOFException - if this input stream reaches the end before reading all the bytes.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in
public final void readFully(byte[] b,
int off,
int len)
throws IOException
readFully method of
DataInput.
Bytes for this operation are read from the contained input stream.
readFully in interface
DataInput
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 - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in
public final int skipBytes(int n)
throws IOException
skipBytes method of
DataInput.
Bytes for this operation are read from the contained input stream.
skipBytes in interface
DataInput
n - the number of bytes to be skipped.
IOException - if the contained input stream does not support seek, or the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
public final boolean readBoolean()
throws IOException
readBoolean method of
DataInput.
Bytes for this operation are read from the contained input stream.
readBoolean in interface
DataInput
boolean value read.
EOFException - if this input stream has reached the end.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in
public final byte readByte()
throws IOException
readByte method of
DataInput.
Bytes for this operation are read from the contained input stream.
readByte in interface
DataInput
byte.
EOFException - if this input stream has reached the end.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in
public final int readUnsignedByte()
throws IOException
readUnsignedByte method of
DataInput.
Bytes for this operation are read from the contained input stream.
readUnsignedByte in interface
DataInput
EOFException - if this input stream has reached the end.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in
public final short readShort()
throws IOException
readShort method of
DataInput.
Bytes for this operation are read from the contained input stream.
readShort in interface
DataInput
EOFException - if this input stream reaches the end before reading two bytes.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in
public final int readUnsignedShort()
throws IOException
readUnsignedShort method of
DataInput.
Bytes for this operation are read from the contained input stream.
readUnsignedShort in interface
DataInput
EOFException - if this input stream reaches the end before reading two bytes.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in
public final char readChar()
throws IOException
readChar method of
DataInput.
Bytes for this operation are read from the contained input stream.
readChar in interface
DataInput
char.
EOFException - if this input stream reaches the end before reading two bytes.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
FilterInputStream.in
public final int readInt()
throws IOException
readInt method of
DataInput.
Bytes for this operation are read from the contained input stream.
readInt in interface
DataInput
int.
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.
FilterInputStream.in
public final long readLong()
throws IOException
readLong method of
DataInput.
Bytes for this operation are read from the contained input stream.
readLong in interface
DataInput
long.
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.
FilterInputStream.in
public final float readFloat()
throws IOException
readFloat method of
DataInput.
Bytes for this operation are read from the contained input stream.
readFloat in interface
DataInput
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.
readInt(),
Float.intBitsToFloat(int)
public final double readDouble()
throws IOException
readDouble method of
DataInput.
Bytes for this operation are read from the contained input stream.
readDouble in interface
DataInput
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.
readLong(),
Double.longBitsToDouble(long)
@Deprecated public final StringreadLine() throws IOException
BufferedReader.readLine() method. Programs that use the DataInputStream class to read lines can be converted to use the BufferedReader class by replacing code of the form:
DataInputStream d = new DataInputStream(in);
with:
BufferedReader d
= new BufferedReader(new InputStreamReader(in));
readLine method of
DataInput.
Bytes for this operation are read from the contained input stream.
readLine in interface
DataInput
IOException - if an I/O error occurs.
BufferedReader.readLine() ,
FilterInputStream.in
public final StringreadUTF() throws IOException
readUTF method of
DataInput.
Bytes for this operation are read from the contained input stream.
readUTF in interface
DataInput
EOFException - if this input stream reaches the end before reading all the bytes.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
UTFDataFormatException - if the bytes do not represent a valid modified UTF-8 encoding of a string.
readUTF(java.io.DataInput)
public static final StringreadUTF(DataInput in) throws IOException
in a representation of a Unicode character string encoded in
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 - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
UTFDataFormatException - if the bytes do not represent a valid modified UTF-8 encoding of a Unicode string.
readUnsignedShort()