Spec-Zone.ru › OpenJDK 17

Класс 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.

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

Modifier and Type Method Description
protected final void checkClosed()
Выбрасывает IOException, если поток закрыт.
void close()
Закрывает поток.
protected void finalize()
Устарело.
Метод 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 если он ненулевой, 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()
Считывает байт из потока, (понятийно) преобразует его в 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).

Методы, объявленные в классе 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 указывает так называемый порядок байтов большого конца или сетевой порядок байтов, в котором байт старшего порядка идёт первым. Процессоры 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

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
Возвращает:
знаковое значение короткого целого из потока.
Использует:
EOFException - если поток достигает конца, прежде чем прочитать все байты.
IOException - если произошла ошибка ввода-вывода.
См. также:
  • ImageInputStream.getByteOrder()

readUnsignedShort

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

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

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

readChar

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

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

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

readInt

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

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

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

readUnsignedInt

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

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

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

readLong

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

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

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

readFloat

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

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

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

readDouble

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 заключается в том, что она считывает представление строки Unicode, закодированной в формате изменённого 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 - количество байтов для перехода вперед.
Возвращает:
целое число, представляющее количество пропущенных байтов.
Исключения:
IOException - если getStreamPosition выбрасывает исключение IOException при вычислении начальной или конечной позиции.

skipBytes

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

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

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

seek

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

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

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

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

mark

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

reset

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

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

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

flushBefore

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

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

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

flush

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

getFlushedPosition

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

isCached

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

isCachedMemory

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

isCachedFile

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

close

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

finalize

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

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/imageio/stream/ImageInputStreamImpl.html

Spec-Zone.ru

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