Класс DataInputStream
- Все реализуемые интерфейсы:
Closeable, DataInput, AutoCloseable
public class DataInputStream extends FilterInputStream implements DataInput
DataInputStream небезопасно использовать из нескольких параллельных потоков. Если DataInputStream используется более чем одним потоком, доступ к потоку ввода данных следует контролировать с помощью соответствующей синхронизации.
- С версии:
- 1.0
- См. также:
Краткое описание полей
Поля, объявленные в классе FilterInputStream
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
Методы, объявленные в классе InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Подробное описание конструкторов
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— если байты не представляют допустимую строку в кодировке модифицированной UTF-8. - См. также:
readUTF
public static final String readUTF(DataInput in) throws IOException
in представление строки символов Unicode в формате модифицированной UTF-8; эта строка символов возвращается как String. Подробности представления в модифицированной UTF-8 полностью совпадают с описанием метода readUTF интерфейса DataInput.- Параметры:
-
in— поток ввода данных. - Возвращает:
- строку Unicode.
- Выбрасывает:
-
EOFException— если входной поток достигает конца до считывания всех байтов. -
IOException— если поток закрыт и содержащийся входной поток не поддерживает чтение после закрытия или возникает другая ошибка ввода-вывода. -
UTFDataFormatException— если байты не представляют допустимую строку Unicode в кодировке модифицированной 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/DataInputStream.html