Spec-Zone.ru › OpenJDK 17

Класс DataInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.io.DataInputStream
Все реализованные интерфейсы:
Closeable, DataInput, AutoCloseable
public class DataInputStream extends FilterInputStream implements DataInput
Поток данных для ввода позволяет приложению читать примитивные типы данных Java из базового потока ввода независимо от машины. Приложение использует поток данных для вывода, чтобы записать данные, которые позже могут быть прочитаны потоком данных для ввода.

DataInputStream не предназначен для одновременного использования несколькими потоками. Если DataInputStream должен использоваться более чем одним потоком, доступ к потоку данных ввода должен контролироваться соответствующей синхронизацией.

С момента:
1.0
См. также:
  • DataOutputStream

Краткое описание полей

Поля, объявленные в классе java.io.FilterInputStream

in

Краткое описание конструкторов

Конструктор Описание
DataInputStream(InputStream in)
Создаёт DataInputStream, использующий указанный базовый InputStream.

Краткое описание методов

Модификатор и тип Метод Описание
final int read(byte[] b)
Считывает определённое количество байтов из содержащегося потока ввода и сохраняет их в массив байтов b.
final int read(byte[] b, int off, int len)
Считывает до 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(byte[] b)
См. общее соглашение метода readFully класса DataInput.
final void readFully(byte[] b, int off, int len)
См. общее соглашение метода 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(DataInput in)
Считывает из потока in представление строки символов Unicode, закодированной в формате модифицированной UTF-8; эта строка символов затем возвращается как String.
final int skipBytes(int n)
См. общее соглашение метода skipBytes класса DataInput.

Методы, объявленные в классе java.io.FilterInputStream

available, close, mark, markSupported, read, reset, skip

Методы, объявленные в классе java.io.InputStream

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

DataInputStream

public DataInputStream(InputStream in)
Создаёт DataInputStream, использующий указанный базовый поток ввода.
Параметры:
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 - если первый байт не может быть прочитан по какой-либо причине, кроме конца файла, поток был закрыт, и базовый поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in
  • InputStream.read(byte[], int, int)

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 - если первый байт не может быть прочитан по какой-либо причине, кроме конца файла, поток был закрыт, и базовый поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in
  • InputStream.read(byte[], int, int)

readFully

public final void readFully(byte[] b) throws IOException
См. общую спецификацию метода readFully интерфейса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определяет:
readFully в интерфейсе DataInput
Параметры:
b - буфер, в который считываются данные.
Исключения:
NullPointerException - если b равно null.
EOFException - если этот поток ввода достигает конца до считывания всех байтов.
IOException - поток был закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

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 - поток был закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

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 - поток был закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

readByte

public final byte readByte() throws IOException
См. общую спецификацию метода readByte интерфейса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определяет:
readByte в интерфейсе DataInput
Возвращает:
следующий байт из этого потока ввода как знаковое 8-битное byte.
Исключения:
EOFException - если этот поток ввода достиг конца.
IOException - поток был закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

readUnsignedByte

public final int readUnsignedByte() throws IOException
См. общую спецификацию метода readUnsignedByte интерфейса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определяет:
readUnsignedByte в интерфейсе DataInput
Возвращает:
следующий байт из этого потока ввода, интерпретируемый как беззнаковое 8-битное число.
Исключения:
EOFException - если этот поток ввода достиг конца.
IOException - поток был закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

readShort

public final short readShort() throws IOException
См. общий договор метода readShort класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readShort в интерфейсе DataInput
Возвращает:
следующие два байта этого потока ввода, интерпретированные как целое число со знаком размером 16 бит.
Исключение:
EOFException - если этот поток ввода достигает конца перед считыванием двух байтов.
IOException - поток закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

readUnsignedShort

public final int readUnsignedShort() throws IOException
См. общий договор метода readUnsignedShort класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readUnsignedShort в интерфейсе DataInput
Возвращает:
следующие два байта этого потока ввода, интерпретированные как целое беззнаковое число размером 16 бит.
Исключение:
EOFException - если этот поток ввода достигает конца перед считыванием двух байтов.
IOException - поток закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

readChar

public final char readChar() throws IOException
См. общий договор метода readChar класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readChar в интерфейсе DataInput
Возвращает:
следующие два байта этого потока ввода, интерпретированные как символ.
Исключение:
EOFException - если этот поток ввода достигает конца перед считыванием двух байтов.
IOException - поток закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

readInt

public final int readInt() throws IOException
См. общий договор метода readInt класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readInt в интерфейсе DataInput
Возвращает:
следующие четыре байта этого потока ввода, интерпретированные как целое число.
Исключение:
EOFException - если этот поток ввода достигает конца перед считыванием четырёх байтов.
IOException - поток закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

readLong

public final long readLong() throws IOException
См. общий договор метода readLong класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readLong в интерфейсе DataInput
Возвращает:
следующие восемь байтов этого потока ввода, интерпретированные как длинное целое число.
Исключение:
EOFException - если этот поток ввода достигает конца перед считыванием восьми байтов.
IOException - поток закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • FilterInputStream.in

readFloat

public final float readFloat() throws IOException
См. общий договор метода readFloat класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readFloat в интерфейсе DataInput
Возвращает:
следующие четыре байта этого потока ввода, интерпретированные как число с плавающей точкой.
Исключение:
EOFException - если этот поток ввода достигает конца перед считыванием четырёх байтов.
IOException - поток закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • readInt()
  • Float.intBitsToFloat(int)

readDouble

public final double readDouble() throws IOException
См. общий договор метода readDouble класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readDouble в интерфейсе DataInput
Возвращает:
следующие восемь байтов этого потока ввода, интерпретированные как число двойной точности.
Исключение:
EOFException - если этот поток ввода достигает конца перед считыванием восьми байтов.
IOException - поток закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
См. также:
  • readLong()
  • Double.longBitsToDouble(long)

readLine

@Deprecated public final String readLine() throws IOException
Устарело.
Этот метод не правильно преобразует байты в символы. Начиная с JDK 1.1, предпочтительным способом чтения строк текста является метод BufferedReader.readLine(). Программы, которые используют класс DataInputStream для чтения строк, могут быть преобразованы для использования класса BufferedReader путём замены кода вида:
     DataInputStream d = new DataInputStream(in);
 
на:
     BufferedReader d
          = new BufferedReader(new InputStreamReader(in));
 
См. общий договор метода readLine класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readLine в интерфейсе DataInput
Возвращает:
следующую строку текста из этого потока ввода.
Исключение:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • BufferedReader.readLine()
  • FilterInputStream.in

readUTF

public final String readUTF() throws IOException
См. общий договор метода readUTF класса DataInput.

Байты для этой операции считываются из содержащегося потока ввода.

Определено в:
readUTF в интерфейсе DataInput
Возвращает:
строку Unicode.
Исключение:
EOFException - если этот поток ввода достигает конца перед считыванием всех байтов.
IOException - поток закрыт, и содержащийся поток ввода не поддерживает чтение после закрытия, или произошла другая ошибка ввода-вывода.
UTFDataFormatException - если байты не представляют собой допустимого кодирования строки в формате UTF-8 с модификацией.
См. также:
  • readUTF(java.io.DataInput)

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.
См. также:
  • readUnsignedShort()

© 1993, 2021, 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/17/docs/api/java.base/java/io/DataInputStream.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API