Класс DataInputStream
- Все реализованные интерфейсы:
Closeable, DataInput, AutoCloseable
public class DataInputStream extends FilterInputStream implements DataInput
Объект DataInputStream небезопасно использовать в нескольких параллельных потоках. Если объект DataInputStream используется более чем одним потоком, доступ к потоку ввода данных следует контролировать с помощью соответствующей синхронизации.
- Начиная с:
- 1.0
- См. также:
Краткое описание полей
Поля, объявленные в классе FilterInputStream
in | Модификатор и тип | Поле | Описание |
|---|---|---|
protected InputStream |
in |
Входной поток, подлежащий фильтрации. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DataInputStream |
Создает DataInputStream, использующий указанный базовый InputStream. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final int |
read |
Считывает некоторое количество байтов из содержащегося входного потока и сохраняет их в массиве буфера b. |
final int |
read |
Считывает до len байтов данных из содержащегося входного потока в массив байтов. |
final boolean |
readBoolean() |
См. общий контракт метода readBoolean класса DataInput. |
final byte |
readByte() |
См. общий контракт метода readByte класса DataInput. |
final char |
readChar() |
См. общий контракт метода readChar класса DataInput. |
final double |
readDouble() |
См. общий контракт метода readDouble класса DataInput. |
final float |
readFloat() |
См. общий контракт метода readFloat класса DataInput. |
final void |
readFully |
См. общий контракт метода readFully класса DataInput. |
final void |
readFully |
См. общий контракт метода readFully класса DataInput. |
final int |
readInt() |
См. общий контракт метода readInt класса DataInput. |
final String |
readLine() |
Устарело. Этот метод неправильно преобразует байты в символы. |
final long |
readLong() |
См. общий контракт метода readLong класса DataInput. |
final short |
readShort() |
См. общий контракт метода readShort класса DataInput. |
final int |
readUnsignedByte() |
См. общий контракт метода readUnsignedByte класса DataInput. |
final int |
readUnsignedShort() |
См. общий контракт метода readUnsignedShort класса DataInput. |
final String |
readUTF() |
См. общий контракт метода readUTF класса DataInput. |
static final String |
readUTF |
Считывает из потока in представление строки символов Unicode, закодированной в формате модифицированного UTF-8; затем эта строка символов возвращается как String. |
final int |
skipBytes |
См. общий контракт метода skipBytes класса DataInput. |
Методы, объявленные в классе FilterInputStream
available, close, mark, markSupported, read, reset, skip | Модификатор и тип | Метод | Описание |
|---|---|---|
int |
available() |
Возвращает оценку количества байтов, которые могут быть прочитаны (или пропущены) из этого входного потока без блокировки следующим вызовом метода для этого входного потока. |
void |
close() |
Закрывает этот входной поток и освобождает все системные ресурсы, связанные с ним. |
void |
mark |
Отмечает текущую позицию в этом входном потоке. |
boolean |
markSupported() |
Проверяет, поддерживает ли этот входной поток методы mark и reset. |
int |
read() |
Считывает следующий байт данных из входного потока. |
void |
reset() |
Перемещает этот поток в позицию, соответствовавшую моменту последнего вызова метода mark для этого входного потока. |
long |
skip |
Пропускает и отбрасывает n байтов данных из входного потока. |
Методы, объявленные в классе InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo | Модификатор и тип | Метод | Описание |
|---|---|---|
static InputStream |
nullInputStream() |
Возвращает новый InputStream, который не считывает байтов. |
byte[] |
readAllBytes() |
Считывает все оставшиеся байты из входного потока. |
int |
readNBytes |
Считывает из входного потока запрошенное количество байтов в указанный массив байтов. |
byte[] |
readNBytes |
Считывает из входного потока до указанного количества байтов. |
void |
skipNBytes |
Пропускает и отбрасывает ровно n байтов данных из этого входного потока. |
long |
transferTo |
Считывает все байты из этого входного потока и записывает их в указанный выходной поток в том порядке, в котором они считываются. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
DataInputStream
public DataInputStream(InputStream in)
- Параметры:
-
in— указанный входной поток
Подробное описание методов
read
public final int read(byte[] b) throws IOException
b. Фактически считанное количество байтов возвращается в виде целого числа. Этот метод блокируется до тех пор, пока не станут доступны входные данные, не будет обнаружен конец файла или не возникнет исключение. Если b равно null, выбрасывается NullPointerException. Если длина b равна нулю, байты не считываются и возвращается 0; в противном случае предпринимается попытка считать хотя бы один байт. Если байты недоступны, поскольку поток достиг конца файла, возвращается значение -1; в противном случае считывается хотя бы один байт и сохраняется в b.
Первый считанный байт сохраняется в элементе b[0], следующий — в b[1] и так далее. Количество считанных байтов не превышает длину b. Пусть k — количество фактически считанных байтов; эти байты будут сохранены в элементах от b[0] до b[k-1], а элементы от b[k] до b[b.length-1] останутся без изменений.
Метод read(b) действует так же, как:
read(b, 0, b.length)
- Переопределяет:
-
readв классеFilterInputStream - Параметры:
-
b— буфер, в который считываются данные. - Возвращает:
- общее количество байтов, считанных в буфер, или
-1, если данных больше нет, поскольку достигнут конец потока. - Выбрасывает:
-
IOException— если первый байт не удается считать по любой причине, кроме конца файла, поток закрыт, а базовый входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
read
public final int read(byte[] b, int off, int len) throws IOException
len байтов данных. Предпринимается попытка считать до len байтов, однако может быть считано меньшее количество, в том числе ноль. Фактически считанное количество байтов возвращается в виде целого числа. Этот метод блокируется до тех пор, пока не станут доступны входные данные, не будет обнаружен конец файла или не возникнет исключение.
Если len равно нулю, байты не считываются и возвращается 0; в противном случае предпринимается попытка считать хотя бы один байт. Если байты недоступны, поскольку поток достиг конца файла, возвращается значение -1; в противном случае считывается хотя бы один байт и сохраняется в b.
Первый считанный байт сохраняется в элементе b[off], следующий — в b[off+1] и так далее. Количество считанных байтов не превышает len. Пусть k — количество фактически считанных байтов; эти байты будут сохранены в элементах от b[off] до b[off+k-1], а элементы от b[off+k] до b[off+len-1] останутся без изменений.
В любом случае элементы от b[0] до b[off] и элементы от b[off+len] до b[b.length-1] остаются без изменений.
- Переопределяет:
-
readв классеFilterInputStream - Параметры:
-
b— буфер, в который считываются данные. -
off— начальное смещение в целевом массивеb -
len— максимальное количество считываемых байтов. - Возвращает:
- общее количество байтов, считанных в буфер, или
-1, если данных больше нет, поскольку достигнут конец потока. - Выбрасывает:
-
NullPointerException— еслиbравноnull. -
IndexOutOfBoundsException— еслиoffотрицательно,lenотрицательно илиlenбольшеb.length - off -
IOException— если первый байт не удается считать по любой причине, кроме конца файла, поток закрыт, а базовый входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readFully
public final void readFully(byte[] b) throws IOException
readFully интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readFullyв интерфейсеDataInput - Параметры:
-
b— буфер, в который считываются данные. - Выбрасывает:
-
NullPointerException— еслиbравноnull. -
EOFException— если этот входной поток достигает конца до считывания всех байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readFully
public final void readFully(byte[] b, int off, int len) throws IOException
readFully интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readFullyв интерфейсеDataInput - Параметры:
-
b— буфер, в который считываются данные. -
off— начальное смещение в массиве данныхb. -
len— количество байтов для считывания. - Выбрасывает:
-
NullPointerException— еслиbравноnull. -
IndexOutOfBoundsException— еслиoffотрицательно,lenотрицательно илиlenбольшеb.length - off. -
EOFException— если этот входной поток достигает конца до считывания всех байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
skipBytes
public final int skipBytes(int n) throws IOException
skipBytes интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
skipBytesв интерфейсеDataInput - Параметры:
-
n— количество байтов, которое необходимо пропустить. - Возвращает:
- фактическое количество пропущенных байтов.
- Выбрасывает:
-
IOException— если содержащийся входной поток не поддерживает перемещение, поток закрыт и содержащийся входной поток не поддерживает чтение после закрытия либо возникает другая ошибка ввода-вывода.
readBoolean
public final boolean readBoolean() throws IOException
readBoolean интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readBooleanв интерфейсеDataInput - Возвращает:
- считанное значение
boolean. - Выбрасывает:
-
EOFException— если этот входной поток достиг конца. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readByte
public final byte readByte() throws IOException
readByte интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readByteв интерфейсеDataInput - Возвращает:
- следующий байт этого входного потока в виде знакового 8-битного значения
byte. - Выбрасывает:
-
EOFException— если этот входной поток достиг конца. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readUnsignedByte
public final int readUnsignedByte() throws IOException
readUnsignedByte интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readUnsignedByteв интерфейсеDataInput - Возвращает:
- следующий байт этого входного потока, интерпретируемый как беззнаковое 8-битное число.
- Выбрасывает:
-
EOFException— если этот входной поток достиг конца. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readShort
public final short readShort() throws IOException
readShort интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readShortв интерфейсеDataInput - Возвращает:
- следующие два байта этого входного потока, интерпретируемые как знаковое 16-битное число.
- Выбрасывает:
-
EOFException— если этот входной поток достигает конца до считывания двух байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readUnsignedShort
public final int readUnsignedShort() throws IOException
readUnsignedShort интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readUnsignedShortв интерфейсеDataInput - Возвращает:
- следующие два байта этого входного потока, интерпретируемые как беззнаковое 16-битное целое число.
- Выбрасывает:
-
EOFException— если этот входной поток достигает конца до считывания двух байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readChar
public final char readChar() throws IOException
readChar интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readCharв интерфейсеDataInput - Возвращает:
- следующие два байта этого входного потока, интерпретируемые как
char. - Выбрасывает:
-
EOFException— если этот входной поток достигает конца до считывания двух байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readInt
public final int readInt() throws IOException
readInt интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readIntв интерфейсеDataInput - Возвращает:
- следующие четыре байта этого входного потока, интерпретируемые как
int. - Выбрасывает:
-
EOFException— если этот входной поток достигает конца до считывания четырех байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readLong
public final long readLong() throws IOException
readLong интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readLongв интерфейсеDataInput - Возвращает:
- следующие восемь байтов этого входного потока, интерпретируемые как
long. - Выбрасывает:
-
EOFException— если этот входной поток достигает конца до считывания восьми байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readFloat
public final float readFloat() throws IOException
readFloat интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readFloatв интерфейсеDataInput - Возвращает:
- следующие четыре байта этого входного потока, интерпретируемые как
float. - Выбрасывает:
-
EOFException— если этот входной поток достигает конца до считывания четырех байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readDouble
public final double readDouble() throws IOException
readDouble интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readDoubleв интерфейсеDataInput - Возвращает:
- следующие восемь байтов этого входного потока, интерпретируемые как
double. - Выбрасывает:
-
EOFException— если этот входной поток достигает конца до считывания восьми байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. - См. также:
readLine
@Deprecated public final String readLine() throws IOException
BufferedReader.readLine(). Программы, использующие класс DataInputStream для чтения строк, можно преобразовать для использования класса BufferedReader, заменив код следующего вида:
DataInputStream d = new DataInputStream(in);
на:
BufferedReader d
= new BufferedReader(new InputStreamReader(in));
readLine интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readLineв интерфейсеDataInput - Возвращает:
- следующую текстовую строку из этого входного потока.
- Выбрасывает:
-
IOException— если возникает ошибка ввода-вывода. - См. также:
readUTF
public final String readUTF() throws IOException
readUTF интерфейса DataInput. Байты для этой операции считываются из содержащегося входного потока.
- Определен в:
-
readUTFв интерфейсеDataInput - Возвращает:
- строку Unicode.
- Выбрасывает:
-
EOFException— если этот входной поток достигает конца до считывания всех байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. -
UTFDataFormatException— если байты не представляют допустимую строку в кодировке modified UTF-8. - См. также:
readUTF
public static final String readUTF(DataInput in) throws IOException
in представление строки символов Unicode, закодированной в формате modified UTF-8, и возвращает эту строку символов в виде String. Подробности представления modified UTF-8 полностью совпадают с описанием метода readUTF интерфейса DataInput.- Параметры:
-
in— поток ввода данных. - Возвращает:
- строку Unicode.
- Выбрасывает:
-
EOFException— если входной поток достигает конца до считывания всех байтов. -
IOException— если поток закрыт, содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. -
UTFDataFormatException— если байты не представляют допустимую строку Unicode в кодировке modified UTF-8. - См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.