Spec-Zone.ru › OpenJDK 21

Класс 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)
Считывает до 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 двойных чисел (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()
Считывает байт из потока, (по концепции) преобразует его в целое число, маскирует его с помощью 0xff, чтобы удалить любые биты расширения знака, и возвращает его как значение byte.
long readUnsignedInt()
Считывает 4 байта из потока и (по концепции) объединяет их в соответствии с текущим порядком байтов, преобразует результат в длинное целое число, маскирует его с помощью 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).

Методы, объявленные в классе 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
Читает один байт из потока и возвращает его как значение int от 0 до 255. Если достигнут конец файла, возвращается -1.

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

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

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

read

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

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

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

readBoolean

public boolean readBoolean() throws IOException
Описание, скопированное из интерфейса: ImageInputStream
Читает байт из потока и возвращает значение boolean равное 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 - если произошла ошибка ввода-вывода.
END_OF_DOCUMENT_MARKER

чтениеБезЗнаковогоБайта

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

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

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

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

чтениеКороткого

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

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

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

чтениеБезЗнаковогоКороткого

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

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

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

чтениеСимвола

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

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

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

чтениеЦелого

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

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

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

чтениеБезЗнаковогоЦелого

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

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

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

чтениеДлинного

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

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

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

чтениеВещественного

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

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

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

чтениеДвойного

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

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

Определено в:
readDouble в интерфейсе DataInput
Определено в:
readDouble в интерфейсе ImageInputStream
Возвращает:
двойное значение из потока.
Выбрасывает:
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
Считывает один бит из потока и возвращает его как целое число со значением 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 может быть удален в будущей версии.
Финализация устарела и будет удалена. См. Object.finalize() для получения дополнительной информации и подробностей о вариантах миграции.
Завершает работу объекта перед сборкой мусора. Метод close вызывается для закрытия любого открытого источника ввода. Этот метод не должен вызываться из кода приложения.
Переопределяет:
finalize в классе Object
Исключения:
Throwable - если произошла ошибка при финализации суперкласса.
См. также:
  • WeakReference
  • PhantomReference

© 1993, 2023, 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/21/docs/api/java.desktop/javax/imageio/stream/ImageInputStreamImpl.html

Spec-Zone.ru

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