Spec-Zone.ru › OpenJDK 25

Класс ImageInputStreamImpl

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
Все реализуемые интерфейсы:
Closeable, DataInput, AutoCloseable, ImageInputStream
Прямые подклассы:
FileCacheImageInputStream, FileImageInputStream, ImageOutputStreamImpl, MemoryCacheImageInputStream
public abstract class ImageInputStreamImpl extends Object implements ImageInputStream
Абстрактный класс, реализующий интерфейс ImageInputStream. Этот класс предназначен для уменьшения числа методов, которые должны реализовывать подклассы.

В частности, этот класс обрабатывает большую часть или все аспекты интерпретации порядка байтов, буферизации, установки и сброса меток, отбрасывания данных, закрытия и освобождения ресурсов.

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

Модификатор и тип Поле Описание
protected int bitOffset
Текущее смещение бита в потоке.
protected ByteOrder byteOrder
Порядок байтов потока в виде экземпляра класса перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN обозначает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN — обратный порядок.
protected long flushedPos
Позиция, до которой данные могут быть отброшены.
protected long streamPos
Текущая позиция чтения в потоке.

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

Конструктор Описание
ImageInputStreamImpl()
Создает ImageInputStreamImpl.

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

Модификатор и тип Метод Описание
protected final void checkClosed()
Выбрасывает IOException, если поток закрыт.
void close()
Закрывает поток.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Метод finalize устарел и будет удален.
void flush()
Отбрасывает начальную позицию потока до текущей позиции потока.
void flushBefore(long pos)
Отбрасывает начальную часть потока до указанной позиции.
int getBitOffset()
Возвращает текущее смещение бита — целое число от 0 до 7 включительно.
ByteOrder getByteOrder()
Возвращает порядок байтов, в котором значения данных будут считываться из этого потока, в виде экземпляра перечисления java.nio.ByteOrder.
long getFlushedPosition()
Возвращает самую раннюю позицию в потоке, к которой можно перейти.
long getStreamPosition()
Возвращает текущую позицию байта в потоке.
boolean isCached()
Реализация по умолчанию возвращает false.
boolean isCachedFile()
Реализация по умолчанию возвращает false.
boolean isCachedMemory()
Реализация по умолчанию возвращает false.
long length()
Возвращает -1L, указывая, что длина потока неизвестна.
void mark()
Помещает текущую позицию потока в стек отмеченных позиций.
abstract int read()
Считывает один байт из потока и возвращает его как int в диапазоне от 0 до 255.
int read(byte[] b)
Вспомогательный метод, вызывающий read(b, 0, b.length).
abstract int read(byte[] b, int off, int len)
Считывает из потока до len байт и записывает их в b, начиная с индекса off.
int readBit()
Считывает один бит из потока и возвращает его как int со значением 0 или 1.
long readBits(int numBits)
Считывает битовую строку из потока и возвращает ее как long; первый считанный бит становится старшим битом результата.
boolean readBoolean()
Считывает байт из потока и возвращает значение типа boolean: true, если байт ненулевой, и false, если он равен нулю.
byte readByte()
Считывает байт из потока и возвращает его как значение типа byte.
void readBytes(IIOByteBuffer buf, int len)
Считывает из потока до len байт и изменяет переданный IIOByteBuffer, указывая массив байтов, смещение и длину, по которым можно найти данные.
char readChar()
Эквивалентен readUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char.
double readDouble()
Считывает из потока 8 байт, объединяет их (концептуально) в соответствии с текущим порядком байтов и возвращает результат как double.
float readFloat()
Считывает из потока 4 байта, объединяет их (концептуально) в соответствии с текущим порядком байтов и возвращает результат как float.
void readFully(byte[] b)
Считывает из потока b.length байт и записывает их в b, начиная с индекса 0.
void readFully(byte[] b, int off, int len)
Считывает из потока len байт и записывает их в b, начиная с индекса off.
void readFully(char[] c, int off, int len)
Считывает из потока len символов (беззнаковых 16-разрядных целых чисел) в соответствии с текущим порядком байтов и записывает их в c, начиная с индекса off.
void readFully(double[] d, int off, int len)
Считывает из потока len значений double (64-разрядных чисел с плавающей запятой двойной точности IEEE) в соответствии с текущим порядком байтов и записывает их в d, начиная с индекса off.
void readFully(float[] f, int off, int len)
Считывает из потока len значений float (32-разрядных чисел с плавающей запятой одинарной точности IEEE) в соответствии с текущим порядком байтов и записывает их в f, начиная с индекса off.
void readFully(int[] i, int off, int len)
Считывает из потока len значений int (знаковых 32-разрядных целых чисел) в соответствии с текущим порядком байтов и записывает их в i, начиная с индекса off.
void readFully(long[] l, int off, int len)
Считывает из потока len значений long (знаковых 64-разрядных целых чисел) в соответствии с текущим порядком байтов и записывает их в l, начиная с индекса off.
void readFully(short[] s, int off, int len)
Считывает из потока len значений short (знаковых 16-разрядных целых чисел) в соответствии с текущим порядком байтов и записывает их в s, начиная с индекса off.
int readInt()
Считывает из потока 4 байта, объединяет их (концептуально) в соответствии с текущим порядком байтов и возвращает результат как int.
String readLine()
Считывает следующую строку текста из входного потока.
long readLong()
Считывает из потока 8 байт, объединяет их (концептуально) в соответствии с текущим порядком байтов и возвращает результат как long.
short readShort()
Считывает из потока два байта, объединяет их (концептуально) в соответствии с текущим порядком байтов и возвращает результат как значение short.
int readUnsignedByte()
Считывает байт из потока, преобразует его (концептуально) в int, применяет к нему маску 0xff, чтобы отбросить биты знакового расширения, и возвращает результат как значение byte.
long readUnsignedInt()
Считывает из потока 4 байта, объединяет их (концептуально) в соответствии с текущим порядком байтов, преобразует результат в long, применяет к нему маску 0xffffffffL, чтобы отбросить биты знакового расширения, и возвращает результат как беззнаковое значение long.
int readUnsignedShort()
Считывает из потока два байта, объединяет их (концептуально) в соответствии с текущим порядком байтов, преобразует полученное значение в int, применяет к нему маску 0xffff, чтобы отбросить биты знакового расширения, и возвращает результат как беззнаковое значение int.
String readUTF()
Считывает строку, закодированную в формате модифицированного UTF-8.
void reset()
Восстанавливает текущие позиции байта и бита потока из стека отмеченных позиций.
void seek(long pos)
Устанавливает текущую позицию потока в заданное место.
void setBitOffset(int bitOffset)
Устанавливает смещение бита в целое число от 0 до 7 включительно.
void setByteOrder(ByteOrder byteOrder)
Задает желаемый порядок байтов для последующего чтения значений данных из этого потока.
int skipBytes(int n)
Перемещает текущую позицию потока вперед, вызывая seek(getStreamPosition() + n).
long skipBytes(long n)
Перемещает текущую позицию потока вперед, вызывая seek(getStreamPosition() + n).

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

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

Подробное описание полей

byteOrder

protected ByteOrder byteOrder
Порядок байтов потока в виде экземпляра класса перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN обозначает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN — обратный порядок. По умолчанию значение равно ByteOrder.BIG_ENDIAN.

streamPos

protected long streamPos
Текущая позиция чтения в потоке. Подклассы отвечают за актуальность этого значения во всех переопределяемых ими методах, которые изменяют позицию чтения.

bitOffset

protected int bitOffset
Текущее смещение в битах в потоке. Подклассы отвечают за актуальность этого значения во всех переопределяемых ими методах, которые изменяют смещение в битах.

flushedPos

protected long flushedPos
Позиция, до которой данные могут быть отброшены. Переход к меньшей позиции не допускается. flushedPos всегда будет >= 0.

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

ImageInputStreamImpl

public ImageInputStreamImpl()
Создает ImageInputStreamImpl.

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

checkClosed

protected final void checkClosed() throws IOException
Выбрасывает IOException, если поток был закрыт. Подклассы могут вызывать этот метод из любых своих методов, для работы которых поток не должен быть закрыт.
Выбрасывает:
IOException — если поток закрыт.

setByteOrder

public void setByteOrder(ByteOrder byteOrder)
Описание скопировано из интерфейса: ImageInputStream
Задает порядок байтов, который будет использоваться при последующем чтении значений данных из этого потока. Например, последовательность байтов '0x01 0x02 0x03 0x04' при чтении как 4-байтового целого числа будет иметь значение '0x01020304' при сетевом порядке байтов и значение '0x04030201' при обратном порядке байтов.

Для указания порядка байтов используется класс перечисления java.nio.ByteOrder. Значение ByteOrder.BIG_ENDIAN задает так называемый порядок от старшего к младшему, или сетевой порядок байтов, при котором старший байт идет первым. Процессоры Motorola и Sparc хранят данные в этом формате, тогда как процессоры Intel используют обратный порядок ByteOrder.LITTLE_ENDIAN.

Порядок байтов не влияет на результаты, возвращаемые методом readBits (или на значение, записываемое методом ImageOutputStream.writeBits).

Определено в:
setByteOrder в интерфейсе ImageInputStream
Параметры:
byteOrder — одно из значений ByteOrder.BIG_ENDIAN или java.nio.ByteOrder.LITTLE_ENDIAN, указывающее, будет ли при последующем чтении использоваться сетевой порядок байтов или обратный порядок.
См. также:
  • ByteOrder
  • ImageInputStream.getByteOrder()
  • ImageInputStream.readBits(int)

getByteOrder

public ByteOrder getByteOrder()
Описание скопировано из интерфейса: ImageInputStream
Возвращает порядок байтов, используемый при чтении значений данных из этого потока, в виде экземпляра перечисления java.nio.ByteOrder.
Определено в:
getByteOrder в интерфейсе ImageInputStream
Возвращает:
одно из значений ByteOrder.BIG_ENDIAN или ByteOrder.LITTLE_ENDIAN, указывающее используемый порядок байтов.
См. также:
  • ByteOrder
  • ImageInputStream.setByteOrder(ByteOrder)

read

public abstract int read() throws IOException
Читает из потока один байт и возвращает его как int в диапазоне от 0 до 255. Если достигнут конец файла (EOF), возвращается -1.

Подклассы должны предоставить реализацию этого метода. Реализация подкласса должна обновить позицию в потоке перед завершением работы.

Перед чтением смещение в битах в потоке должно быть сброшено в ноль.

Определено в:
read в интерфейсе ImageInputStream
Возвращает:
значение следующего байта в потоке или -1, если достигнут конец файла (EOF).
Выбрасывает:
IOException — если поток был закрыт.

read

public int read(byte[] b) throws IOException
Вспомогательный метод, вызывающий read(b, 0, b.length).

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
read в интерфейсе ImageInputStream
Параметры:
b — массив байтов для записи.
Возвращает:
фактическое число прочитанных байтов или -1, указывающее на конец файла (EOF).
Выбрасывает:
NullPointerException — если b имеет значение null.
IOException — если произошла ошибка ввода-вывода.

read

public abstract int read(byte[] b, int off, int len) throws IOException
Читает из потока не более len байтов и сохраняет их в b, начиная с индекса off. Если байты невозможно прочитать, поскольку достигнут конец потока, возвращается -1.

Перед чтением смещение в битах в потоке должно быть сброшено в ноль.

Подклассы должны предоставить реализацию этого метода. Реализация подкласса должна обновить позицию в потоке перед завершением работы.

Определено в:
read в интерфейсе ImageInputStream
Параметры:
b — массив байтов для записи.
off — начальная позиция в b, начиная с которой выполняется запись.
len — максимальное число байтов для чтения.
Возвращает:
фактическое число прочитанных байтов или -1, указывающее на конец файла (EOF).
Выбрасывает:
IndexOutOfBoundsException — если off отрицательно, len отрицательно или off + len больше b.length.
NullPointerException — если b имеет значение null.
IOException — если произошла ошибка ввода-вывода.

readBytes

public void readBytes(IIOByteBuffer buf, int len) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока не более len байтов и изменяет переданный IIOByteBuffer, указывая массив байтов, смещение и длину данных. Вызывающий код не должен пытаться изменять данные, содержащиеся в IIOByteBuffer.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readBytes в интерфейсе ImageInputStream
Параметры:
buf — объект IIOByteBuffer, который будет изменен.
len — максимальное число byte для чтения.
Выбрасывает:
IOException — если произошла ошибка ввода-вывода.

readBoolean

public boolean readBoolean() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает байт из потока и возвращает значение boolean: true, если байт не равен нулю, и false, если он равен нулю.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readBoolean в интерфейсе DataInput
Определено в:
readBoolean в интерфейсе ImageInputStream
Возвращает:
значение типа boolean из потока.
Выбрасывает:
EOFException — если достигнут конец потока.
IOException — если произошла ошибка ввода-вывода.

readByte

public byte readByte() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает байт из потока и возвращает его как значение byte. Значения байтов от 0x00 до 0x7f представляют целые числа от 0 до 127. Значения от 0x80 до 0xff представляют отрицательные числа от -128 до /1.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readByte в интерфейсе DataInput
Определено в:
readByte в интерфейсе ImageInputStream
Возвращает:
знаковое значение типа byte из потока.
Выбрасывает:
EOFException — если достигнут конец потока.
IOException — если произошла ошибка ввода-вывода.

readUnsignedByte

public int readUnsignedByte() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает байт из потока, приводит его (концептуально) к типу int, применяет к нему маску 0xff, чтобы отбросить биты расширения знака, и возвращает его как значение byte.

Таким образом, значения байтов от 0x00 до 0x7f просто возвращаются как целые числа от 0 до 127. Значения от 0x80 до 0xff, которые обычно представляют отрицательные значения типа byte, преобразуются в положительные целые числа от 128 до 255.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readUnsignedByte в интерфейсе DataInput
Определено в:
readUnsignedByte в интерфейсе ImageInputStream
Возвращает:
беззнаковое значение типа byte из потока.
Выбрасывает:
EOFException — если достигнут конец потока.
IOException — если произошла ошибка ввода-вывода.

readShort

public short readShort() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока два байта, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как значение short.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readShort в интерфейсе DataInput
Определено в:
readShort в интерфейсе ImageInputStream
Возвращает:
знаковое значение типа short из потока.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.getByteOrder()

readUnsignedShort

public int readUnsignedShort() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока два байта, (концептуально) объединяет их в соответствии с текущим порядком байтов, преобразует полученное значение в int, применяет к нему маску 0xffff, чтобы отбросить биты расширения знака, и возвращает результат как беззнаковое значение int.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readUnsignedShort в интерфейсе DataInput
Определено в:
readUnsignedShort в интерфейсе ImageInputStream
Возвращает:
беззнаковое значение типа short из потока в виде int.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.getByteOrder()

readChar

public char readChar() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Эквивалентен readUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readChar в интерфейсе DataInput
Определено в:
readChar в интерфейсе ImageInputStream
Возвращает:
беззнаковое значение типа char из потока.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.readUnsignedShort()

readInt

public int readInt() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока 4 байта, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как int.

Смещение в битах в потоке игнорируется и считается равным нулю.

Определено в:
readInt в интерфейсе DataInput
Определено в:
readInt в интерфейсе ImageInputStream
Возвращает:
знаковое значение типа int из потока.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.getByteOrder()

readUnsignedInt

public long readUnsignedInt() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока 4 байта, (концептуально) объединяет их в соответствии с текущим порядком байтов, преобразует результат в long, применяет к нему маску 0xffffffffL, чтобы отбросить биты расширения знака, и возвращает результат как беззнаковое значение long.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readUnsignedInt в интерфейсе ImageInputStream
Возвращает:
беззнаковое значение типа int из потока в виде long.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.getByteOrder()

readLong

public long readLong() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока 8 байтов, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как long.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readLong в интерфейсе DataInput
Определено в:
readLong в интерфейсе ImageInputStream
Возвращает:
знаковое значение типа long из потока.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.getByteOrder()

readFloat

public float readFloat() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока 4 байта, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как float.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readFloat в интерфейсе DataInput
Определено в:
readFloat в интерфейсе ImageInputStream
Возвращает:
значение типа float из потока.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.getByteOrder()

readDouble

public double readDouble() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока 8 байтов, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как double.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readDouble в интерфейсе DataInput
Определено в:
readDouble в интерфейсе ImageInputStream
Возвращает:
значение типа double из потока.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.getByteOrder()

readLine

public String readLine() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает следующую строку текста из входного потока. Последовательно считывает байты, преобразуя каждый байт отдельно в символ, пока не встретится символ завершения строки или конец файла; затем прочитанные символы возвращаются в виде String. Обратите внимание: поскольку этот метод обрабатывает байты, он не поддерживает ввод полного набора символов Unicode.

Если конец файла встречен до того, как удалось прочитать хотя бы один байт, возвращается null. В противном случае каждый прочитанный байт преобразуется в тип char путем расширения нулями. Если встречается символ '\n', он отбрасывается и чтение прекращается. Если встречается символ '\r', он отбрасывается и, если следующий байт преобразуется в символ '\n', этот символ также отбрасывается; затем чтение прекращается. Если конец файла встречается до появления одного из символов '\n' и '\r', чтение прекращается. После завершения чтения возвращается String, содержащая все прочитанные и неотброшенные символы в исходном порядке. Обратите внимание: значение каждого символа в этой строке будет меньше \u0100, то есть (char)256.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readLine в интерфейсе DataInput
Определено в:
readLine в интерфейсе ImageInputStream
Возвращает:
строку, содержащую строку текста из потока.
Выбрасывает:
IOException — если произошла ошибка ввода-вывода.

readUTF

public String readUTF() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает строку, закодированную в формате модифицированного UTF-8. Согласно общему контракту, readUTF считывает представление строки символов Unicode, закодированной в формате модифицированного UTF-8; затем эта строка символов возвращается как String.

Сначала считываются два байта, из которых способом, аналогичным методу readUnsignedShort, создается беззнаковое 16-битовое целое число с использованием сетевого порядка байтов (независимо от текущей настройки порядка байтов). Это целочисленное значение называется длиной UTF и задает число дополнительных байтов, которые необходимо прочитать. Затем эти байты преобразуются в символы путем их группировки. Длина каждой группы определяется значением ее первого байта. Следующий за группой байт, если он есть, является первым байтом следующей группы.

Если первый байт группы соответствует битовому шаблону 0xxxxxxx (где x означает «может быть 0 или 1»), группа состоит только из этого байта. Байту добавляются нулевые биты, чтобы получить символ.

Если первый байт группы соответствует битовому шаблону 110xxxxx, группа состоит из этого байта a и второго байта b. Если байт b отсутствует (поскольку байт a был последним прочитанным байтом) или байт b не соответствует битовому шаблону 10xxxxxx, выбрасывается UTFDataFormatException. В противном случае группа преобразуется в символ:

(char)(((a& 0x1F) << 6) | (b & 0x3F))
Если первый байт группы соответствует битовому шаблону 1110xxxx, группа состоит из этого байта a и еще двух байтов — b и c. Если байт c отсутствует (поскольку байт a был одним из двух последних прочитанных байтов) или байт b либо байт c не соответствует битовому шаблону 10xxxxxx, выбрасывается UTFDataFormatException. В противном случае группа преобразуется в символ:
(char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
Если первый байт группы соответствует шаблону 1111xxxx или шаблону 10xxxxxx, выбрасывается UTFDataFormatException.

Если в любой момент этого процесса встречается конец файла, выбрасывается java.io.EOFException.

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

Текущая настройка порядка байтов игнорируется.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Примечание: Этот метод не следует использовать при реализации форматов изображений, в которых применяется стандартный UTF-8, поскольку используемый здесь модифицированный UTF-8 несовместим со стандартным UTF-8.

Определено в:
readUTF в интерфейсе DataInput
Определено в:
readUTF в интерфейсе ImageInputStream
Возвращает:
строку, прочитанную из потока.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
UTFDataFormatException — если байты не представляют допустимую строку в кодировке модифицированного UTF-8.
IOException — если произошла ошибка ввода-вывода.

readFully

public void readFully(byte[] b, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока len байтов и сохраняет их в b, начиная с индекса off. Если достигнут конец потока, выбрасывается java.io.EOFException.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readFully в интерфейсе DataInput
Определено в:
readFully в интерфейсе ImageInputStream
Параметры:
b — массив байтов для записи.
off — начальная позиция в b, начиная с которой выполняется запись.
len — максимальное число byte для чтения.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.

readFully

public void readFully(byte[] b) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока b.length байтов и сохраняет их в b, начиная с индекса 0. Если достигнут конец потока, выбрасывается java.io.EOFException.

Перед чтением смещение в битах в потоке сбрасывается в ноль.

Определено в:
readFully в интерфейсе DataInput
Определено в:
readFully в интерфейсе ImageInputStream
Параметры:
b — массив byte.
Выбрасывает:
EOFException — если поток достигает конца до чтения всех байтов.
IOException — если произошла ошибка ввода-вывода.

readFully

public void readFully(short[] s, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает len значений типа short (16-разрядных целых чисел со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в s, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Перед чтением битовое смещение в потоке сбрасывается в ноль.

Определено в:
readFully в интерфейсе ImageInputStream
Параметры:
s — массив значений типа short, в который будут записаны данные.
off — начальная позиция в s, с которой следует выполнять запись.
len — максимальное количество значений short для чтения.
Исключения:
EOFException — если поток достигнет конца до чтения всех байтов.
IOException — если произойдет ошибка ввода-вывода.

readFully

public void readFully(char[] c, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает len значений типа char (беззнаковых 16-разрядных целых чисел) из потока в соответствии с текущим порядком байтов и сохраняет их в c, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Перед чтением битовое смещение в потоке сбрасывается в ноль.

Определено в:
readFully в интерфейсе ImageInputStream
Параметры:
c — массив значений типа char, в который будут записаны данные.
off — начальная позиция в c, с которой следует выполнять запись.
len — максимальное количество значений char для чтения.
Исключения:
EOFException — если поток достигнет конца до чтения всех байтов.
IOException — если произойдет ошибка ввода-вывода.

readFully

public void readFully(int[] i, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает len значений типа int (32-разрядных целых чисел со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в i, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Перед чтением битовое смещение в потоке сбрасывается в ноль.

Определено в:
readFully в интерфейсе ImageInputStream
Параметры:
i — массив значений типа int, в который будут записаны данные.
off — начальная позиция в i, с которой следует выполнять запись.
len — максимальное количество значений int для чтения.
Исключения:
EOFException — если поток достигнет конца до чтения всех байтов.
IOException — если произойдет ошибка ввода-вывода.

readFully

public void readFully(long[] l, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает len значений типа long (64-разрядных целых чисел со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в l, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Перед чтением битовое смещение в потоке сбрасывается в ноль.

Определено в:
readFully в интерфейсе ImageInputStream
Параметры:
l — массив значений типа long, в который будут записаны данные.
off — начальная позиция в l, с которой следует выполнять запись.
len — максимальное количество значений long для чтения.
Исключения:
EOFException — если поток достигнет конца до чтения всех байтов.
IOException — если произойдет ошибка ввода-вывода.

readFully

public void readFully(float[] f, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает len значений типа float (32-разрядных чисел с плавающей запятой одинарной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в f, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Перед чтением битовое смещение в потоке сбрасывается в ноль.

Определено в:
readFully в интерфейсе ImageInputStream
Параметры:
f — массив значений типа float, в который будут записаны данные.
off — начальная позиция в f, с которой следует выполнять запись.
len — максимальное количество значений float для чтения.
Исключения:
EOFException — если поток достигнет конца до чтения всех байтов.
IOException — если произойдет ошибка ввода-вывода.

readFully

public void readFully(double[] d, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает len значений типа double (64-разрядных чисел с плавающей запятой двойной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в d, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException.

Перед чтением битовое смещение в потоке сбрасывается в ноль.

Определено в:
readFully в интерфейсе ImageInputStream
Параметры:
d — массив значений типа double, в который будут записаны данные.
off — начальная позиция в d, с которой следует выполнять запись.
len — максимальное количество значений double для чтения.
Исключения:
EOFException — если поток достигнет конца до чтения всех байтов.
IOException — если произойдет ошибка ввода-вывода.

getStreamPosition

public long getStreamPosition() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Возвращает текущую позицию потока в байтах. Следующее чтение начнется с этого смещения.
Определено в:
getStreamPosition в интерфейсе ImageInputStream
Возвращает:
значение long, содержащее позицию в потоке.
Исключения:
IOException — если произойдет ошибка ввода-вывода.

getBitOffset

public int getBitOffset() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Возвращает текущее битовое смещение в виде целого числа от 0 до 7 включительно. Битовое смещение неявно обновляется при вызовах метода readBits. Значение 0 обозначает старший бит, а значение 7 — младший бит считываемого байта.

Битовое смещение устанавливается в 0 при первом открытии потока и сбрасывается в 0 при вызовах seek, skipBytes или любого метода read либо readFully.

Определено в:
getBitOffset в интерфейсе ImageInputStream
Возвращает:
значение int, содержащее битовое смещение от 0 до 7 включительно.
Исключения:
IOException — если произойдет ошибка ввода-вывода.
См. также:
  • ImageInputStream.setBitOffset(int)

setBitOffset

public void setBitOffset(int bitOffset) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Устанавливает битовое смещение в целое число от 0 до 7 включительно. Смещение в байтах внутри потока, возвращаемое методом getStreamPosition, остается без изменений. Значение 0 обозначает старший бит, а значение 7 — младший бит считываемого байта.
Определено в:
setBitOffset в интерфейсе ImageInputStream
Параметры:
bitOffset — требуемое смещение в виде значения int от 0 до 7 включительно.
Исключения:
IOException — если произойдет ошибка ввода-вывода.
См. также:
  • ImageInputStream.getBitOffset()

readBit

public int readBit() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока один бит и возвращает его как значение int со значением 0 или 1. Битовое смещение увеличивается на единицу и берется по модулю 8.
Определено в:
readBit в интерфейсе ImageInputStream
Возвращает:
значение int, содержащее значение 0 или 1.
Исключения:
EOFException — если поток достигнет конца до чтения всех битов.
IOException — если произойдет ошибка ввода-вывода.

readBits

public long readBits(int numBits) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает из потока битовую строку и возвращает ее как long; первый считанный бит становится старшим битом результата. Чтение начинается в байте, указанном getStreamPosition, с бита, заданного getBitOffset. Битовое смещение увеличивается на numBits и берется по модулю 8.

Порядок байтов потока не влияет на этот метод. Возвращаемое значение этого метода формируется так, как если бы биты считывались по одному и сдвигались в правую часть возвращаемого значения, как показано в следующем псевдокоде:

long accum = 0L;
for (int i = 0; i < numBits; i++) {
  accum <<= 1; // Shift left one bit to make room
  accum |= readBit();
}
Обратите внимание, что результат readBits(32) может поэтому отличаться от результата readInt() при использовании обратного сетевого порядка байтов (то есть getByteOrder() == false).

Если конец потока встретится до чтения всех битов, будет выброшено исключение java.io.EOFException.

Определено в:
readBits в интерфейсе ImageInputStream
Параметры:
numBits — количество битов для чтения в виде значения int от 0 до 64 включительно.
Возвращает:
битовую строку в виде long, причем последний считанный бит хранится в младшем бите.
Исключения:
EOFException — если поток достигнет конца до чтения всех битов.
IOException — если произойдет ошибка ввода-вывода.

length

public long length()
Возвращает -1L, указывая, что длина потока неизвестна. Подклассы должны переопределить этот метод, чтобы предоставить сведения о фактической длине.
Определено в:
length в интерфейсе ImageInputStream
Возвращает:
-1L, указывающее на неизвестную длину.

skipBytes

public int skipBytes(int n) throws IOException
Перемещает текущую позицию потока, вызывая seek(getStreamPosition() + n).

Битовое смещение сбрасывается в ноль.

Определено в:
skipBytes в интерфейсе DataInput
Определено в:
skipBytes в интерфейсе ImageInputStream
Параметры:
n — количество байтов, на которое нужно переместиться вперед.
Возвращает:
значение int, обозначающее количество пропущенных байтов.
Исключения:
IOException — если getStreamPosition выбрасывает IOException при вычислении начальной или конечной позиции.

skipBytes

public long skipBytes(long n) throws IOException
Перемещает текущую позицию потока, вызывая seek(getStreamPosition() + n).

Битовое смещение сбрасывается в ноль.

Определено в:
skipBytes в интерфейсе ImageInputStream
Параметры:
n — количество байтов, на которое нужно переместиться вперед.
Возвращает:
значение long, обозначающее количество пропущенных байтов.
Исключения:
IOException — если getStreamPosition выбрасывает IOException при вычислении начальной или конечной позиции.

seek

public void seek(long pos) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Устанавливает текущую позицию потока в требуемое место. Следующее чтение будет выполнено в этой позиции. Битовое смещение устанавливается в 0.

Будет выброшено исключение IndexOutOfBoundsException, если pos меньше позиции сброса (возвращаемой методом getflushedPosition).

Допускается перемещение за конец файла; исключение java.io.EOFException будет выброшено только при выполнении чтения.

Определено в:
seek в интерфейсе ImageInputStream
Параметры:
pos — значение long, содержащее требуемую позицию указателя файла.
Исключения:
IOException — если произойдет любая другая ошибка ввода-вывода.

mark

public void mark()
Помещает текущую позицию потока в стек отмеченных позиций.
Определено в:
mark в интерфейсе ImageInputStream

reset

public void reset() throws IOException
Восстанавливает текущие позиции потока в байтах и битах из стека отмеченных позиций.

Будет выброшено исключение IOException, если предыдущая отмеченная позиция находится в отброшенной части потока.

Определено в:
reset в интерфейсе ImageInputStream
Исключения:
IOException — если произойдет ошибка ввода-вывода.

flushBefore

public void flushBefore(long pos) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Отбрасывает начальную часть потока до указанной позиции. Попытка перемещения к смещению внутри отброшенной части потока приведет к IndexOutOfBoundsException.

Вызов flushBefore может позволить классам, реализующим этот интерфейс, освободить такие ресурсы, как память или место на диске, используемые для хранения данных из потока.

Определено в:
flushBefore в интерфейсе ImageInputStream
Параметры:
pos — значение long, содержащее длину префикса потока, который можно отбросить.
Исключения:
IOException — если произойдет ошибка ввода-вывода.

flush

public void flush() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Отбрасывает начальную часть потока до текущей позиции потока. Эквивалентно flushBefore(getStreamPosition()).
Определено в:
flush в интерфейсе ImageInputStream
Исключения:
IOException — если произойдет ошибка ввода-вывода.

getFlushedPosition

public long getFlushedPosition()
Описание скопировано из интерфейса: ImageInputStream
Возвращает самую раннюю позицию в потоке, к которой разрешено перемещение. Возвращаемое значение будет максимальным из всех значений, переданных в предыдущих вызовах flushBefore.
Определено в:
getFlushedPosition в интерфейсе ImageInputStream
Возвращает:
самую раннюю допустимую позицию для перемещения в виде long.

isCached

public boolean isCached()
Реализация по умолчанию возвращает false. Подклассам следует переопределить этот метод, если они кэшируют данные.
Определено в:
isCached в интерфейсе ImageInputStream
Возвращает:
true, если этот ImageInputStream кэширует данные.
См. также:
  • ImageInputStream.isCachedMemory()
  • ImageInputStream.isCachedFile()

isCachedMemory

public boolean isCachedMemory()
Реализация по умолчанию возвращает false. Подклассам следует переопределить этот метод, если они кэшируют данные в оперативной памяти.
Определено в:
isCachedMemory в интерфейсе ImageInputStream
Возвращает:
true, если этот ImageInputStream кэширует данные в оперативной памяти.
См. также:
  • ImageInputStream.isCached()
  • ImageInputStream.isCachedFile()

isCachedFile

public boolean isCachedFile()
Реализация по умолчанию возвращает false. Подклассам следует переопределить этот метод, если они кэшируют данные во временном файле.
Определено в:
isCachedFile в интерфейсе ImageInputStream
Возвращает:
true, если этот ImageInputStream кэширует данные во временном файле.
См. также:
  • ImageInputStream.isCached()
  • ImageInputStream.isCachedMemory()

close

public void close() throws IOException
Описание скопировано из интерфейса: ImageInputStream
Закрывает поток. Попытки доступа к закрытому потоку могут привести к исключениям IOException или некорректной работе. Вызов этого метода может позволить классам, реализующим этот интерфейс, освободить ресурсы, связанные с потоком, такие как память, место на диске или файловые дескрипторы.
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Определено в:
close в интерфейсе ImageInputStream
Исключения:
IOException — если произойдет ошибка ввода-вывода.

finalize

@Deprecated(since="9", forRemoval=true) protected void finalize() throws Throwable
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Метод завершения объекта помечен как устаревший и подлежащий удалению. Справочную информацию и сведения о вариантах миграции см. в разделе Object.finalize().
Завершает этот объект перед сборкой мусора. Для закрытия всех открытых источников ввода вызывается метод close. Этот метод не следует вызывать из кода приложения.
Переопределяет:
finalize в классе Object
Исключения:
Throwable — если во время завершения работы суперкласса произойдет ошибка.
См. также:
  • WeakReference
  • PhantomReference

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.desktop/javax/imageio/stream/ImageInputStreamImpl.html

Spec-Zone.ru

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