Spec-Zone.ru › OpenJDK 24

Класс 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 будет удален в будущей версии.
Финализация устарела и будет удалена.
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)
Аналогично readUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char.
char readChar()
Считывает до len байтов из потока и изменяет предоставленный IIOByteBuffer, чтобы указать массив байтов, смещение и длину, где можно найти данные.
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 чисел с плавающей точкой двойной точности (64-битные числа с плавающей точкой двойной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в d, начиная с индекса off.
void readFully(float[] f, int off, int len)
Считывает len чисел с плавающей точкой одинарной точности (32-битные числа с плавающей точкой одинарной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в f, начиная с индекса off.
void readFully(int[] i, int off, int len)
Считывает len целых чисел (32-битные целые числа со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в i, начиная с индекса off.
void readFully(long[] l, int off, int len)
Считывает len длинных целых чисел (64-битные целые числа со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в l, начиная с индекса off.
void readFully(short[] s, int off, int len)
Считывает len коротких целых чисел (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()
Считывает строку, которая была закодирована с использованием формата modified 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).

Методы, объявленные в классе java.lang.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, если поток закрыт. Подклассы могут вызывать этот метод из любого своего метода, требующего, чтобы поток не был закрыт.
Throws:
IOException - если поток закрыт.

setByteOrder

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

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

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

Specified by:
setByteOrder в интерфейсе ImageInputStream
Parameters:
byteOrder - одно из значений ByteOrder.BIG_ENDIAN или java.nio.ByteOrder.LITTLE_ENDIAN, указывающее, будет ли использоваться сетевой порядок байтов или его обратный порядок для будущих чтений.
See Also:
  • ByteOrder
  • ImageInputStream.getByteOrder()
  • ImageInputStream.readBits(int)

getByteOrder

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

read

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

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

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

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

read

public int read(byte[] b) throws IOException
Удобный метод, вызывающий read(b, 0, b.length).

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

Specified by:
read в интерфейсе ImageInputStream
Parameters:
b - массив байтов, в который нужно записать данные.
Returns:
количество фактически прочитанных байтов, или -1 для указания конца потока (EOF).
Throws:
NullPointerException - если b равно null.
IOException - если произошла ошибка ввода-вывода.

read

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

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

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

Specified by:
read в интерфейсе ImageInputStream
Parameters:
b - массив байтов, в который нужно записать данные.
off - начальная позиция в b для записи.
len - максимальное количество байтов для чтения.
Returns:
количество фактически прочитанных байтов, или -1 для указания конца потока (EOF).
Throws:
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.

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

Specified by:
readBytes в интерфейсе ImageInputStream
Parameters:
buf - объект IIOByteBuffer, который нужно изменить.
len - максимальное количество байтов для чтения.
Throws:
IOException - если произошла ошибка ввода-вывода.

readBoolean

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

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

Specified by:
readBoolean в интерфейсе DataInput
Specified by:
readBoolean в интерфейсе ImageInputStream
Returns:
логическое значение из потока.
Throws:
EOFException - если достигнут конец потока.
IOException - если произошла ошибка ввода-вывода.

readByte

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

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

Specified by:
readByte в интерфейсе DataInput
Specified by:
readByte в интерфейсе ImageInputStream
Returns:
знаковое значение байта из потока.
Throws:
EOFException - если достигнут конец потока.
IOException - если произошла ошибка ввода-вывода.

readUnsignedByte

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

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

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

Определено в:
readUnsignedByte в интерфейсе DataInput
Определено в:
readUnsignedByte в интерфейсе ImageInputStream
Возвращает:
значения беззнакового байта из потока.
Выбрасывает:
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 из потока, как целое число.
Выбрасывает:
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. Обратите внимание, что поскольку этот метод обрабатывает байты, он не поддерживает ввод всего набора символов Юникод.

Если конец файла встречен до того, как будет прочитан хотя бы один байт, то возвращается 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 заключается в том, что он считывает представление строки символов Юникод, закодированной в формате изменённого UTF-8; эта строка символов возвращается как String.

Сначала считываются два байта, и они используются для построения беззнакового 16-битного целого числа по аналогии с методом readUnsignedShort, используя сетевой порядок байтов (независимо от текущей настройки порядка байтов). Это целое значение называется длина 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 - максимальное количество байтов для чтения.
Выбрасывает:
EOFException - если поток достигает конца до чтения всех байтов.
IOException - если произошла ошибка ввода-вывода.

readFully

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

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

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

readFully

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

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

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

readFully

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

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

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

readFully

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

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

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

readFully

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

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

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

readFully

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

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

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

readFully

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

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

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

getStreamPosition

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

getBitOffset

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

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

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

setBitOffset

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

readBit

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

readBits

public long readBits(int numBits) throws IOException
Описание скопировано из интерфейса: ImageInputStream
Читает строку битов из потока и возвращает её как целое число, при этом первый прочитанный бит становится старшим битом результата. Чтение начинается в байте, указанном 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 - количество битов для чтения, целое число от 0 до 64 включительно.
Возвращает:
строку битов, как целое число, при этом последний прочитанный бит находится в младшем бите.
Исключения:
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 может быть удалён в будущей версии.
Метод finalization устарел и подлежит удалению. См. Object.finalize() для получения дополнительной информации и подробностей о вариантах миграции.
Финализирует этот объект перед сборкой мусора. Метод close вызывается для закрытия любого открытого источника ввода. Этот метод не должен вызываться кодом приложения.
Переопределяет:
finalize в классе Object
Исключения:
Throwable - если произошла ошибка во время финализации суперкласса.
См. также:
  • WeakReference
  • PhantomReference

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/stream/ImageInputStreamImpl.html

Spec-Zone.ru

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