Класс 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 |
Отбрасывает начальную часть потока до указанной позиции. |
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 |
Удобный метод, вызывающий read(b, 0, b.length). |
abstract int |
read |
Считывает до len байтов из потока и сохраняет их в b, начиная с индекса off. |
int |
readBit() |
Считывает один бит из потока и возвращает его как int со значением 0 или 1. |
long |
readBits |
Считывает битовую строку из потока и возвращает ее как long, при этом первый считанный бит становится старшим битом выходных данных. |
boolean |
readBoolean() |
Считывает байт из потока и возвращает значение boolean равное true, если он отличен от нуля, false, если он равен нулю. |
byte |
readByte() |
Считывает байт из потока и возвращает его как значение byte. |
void |
readBytes |
Аналогично readUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char. |
char |
readChar() |
Считывает до len байтов из потока и изменяет предоставленный IIOByteBuffer, чтобы указать массив байтов, смещение и длину, где можно найти данные. |
double |
readDouble() |
Считывает 8 байтов из потока и (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как double. |
float |
readFloat() |
Считывает 4 байта из потока и (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как float. |
void |
readFully |
Считывает b.length байтов из потока и сохраняет их в b, начиная с индекса 0. |
void |
readFully |
Считывает len байтов из потока и сохраняет их в b, начиная с индекса off. |
void |
readFully |
Считывает len символов (беззнаковые 16-битные целые числа) из потока в соответствии с текущим порядком байтов и сохраняет их в c, начиная с индекса off. |
void |
readFully |
Считывает len чисел с плавающей точкой двойной точности (64-битные числа с плавающей точкой двойной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в d, начиная с индекса off. |
void |
readFully |
Считывает len чисел с плавающей точкой одинарной точности (32-битные числа с плавающей точкой одинарной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в f, начиная с индекса off. |
void |
readFully |
Считывает len целых чисел (32-битные целые числа со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в i, начиная с индекса off. |
void |
readFully |
Считывает len длинных целых чисел (64-битные целые числа со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в l, начиная с индекса off. |
void |
readFully |
Считывает 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 |
Устанавливает текущую позицию потока в нужное место. |
void |
setBitOffset |
Устанавливает смещение бита в целое число от 0 до 7 включительно. |
void |
setByteOrder |
Устанавливает желаемый порядок байтов для будущих операций чтения значений данных из этого потока. |
int |
skipBytes |
Перемещает текущую позицию потока, вызывая seek(getStreamPosition() + n). |
long |
skipBytes |
Перемещает текущую позицию потока, вызвав seek(getStreamPosition() + n). |
Подробное описание полей
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 Класс перечисления 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:
getByteOrder
public ByteOrder getByteOrder()
ImageInputStreamjava.nio.ByteOrder.- Specified by:
-
getByteOrderв интерфейсеImageInputStream - Returns:
- одно из значений
ByteOrder.BIG_ENDIANилиByteOrder.LITTLE_ENDIAN, указывающее, какой порядок байтов используется. - See Also:
read
public abstract int read() throws IOException
-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
ImageInputStreamlen байтов из потока и изменяет предоставленный IIOByteBuffer, чтобы указать массив байтов, смещение и длину, где данные могут быть найдены. Вызывающая сторона не должна пытаться изменить данные, найденные в IIOByteBuffer. Битовое смещение в потоке сбрасывается в ноль перед чтением.
- Specified by:
-
readBytesв интерфейсеImageInputStream - Parameters:
-
buf- объект IIOByteBuffer, который нужно изменить. -
len- максимальное количество байтов для чтения. - Throws:
-
IOException- если произошла ошибка ввода-вывода.
readBoolean
public boolean readBoolean() throws IOException
ImageInputStreamtrue, если он отличен от нуля, false если он равен нулю. Битовое смещение в потоке сбрасывается в ноль перед чтением.
- Specified by:
-
readBooleanв интерфейсеDataInput - Specified by:
-
readBooleanв интерфейсеImageInputStream - Returns:
- логическое значение из потока.
- Throws:
-
EOFException- если достигнут конец потока. -
IOException- если произошла ошибка ввода-вывода.
readByte
public byte readByte() throws IOException
ImageInputStreambyte. Значения байтов от 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
ImageInputStream0xff, чтобы удалить любые биты расширения знака, и возвращает его как значение byte. Таким образом, значения байтов между 0x00 и 0x7f просто возвращаются как целые значения между 0 и 127. Значения между 0x80 и 0xff, которые обычно представляют отрицательные byte значения, будут отображаться в положительные целые числа между 128 и 255.
Битовый смещение в потоке сбрасывается до нуля перед чтением.
- Определено в:
-
readUnsignedByteв интерфейсеDataInput - Определено в:
-
readUnsignedByteв интерфейсеImageInputStream - Возвращает:
- значения беззнакового байта из потока.
- Выбрасывает:
-
EOFException- если достигнут конец потока. -
IOException- если произошла ошибка ввода-вывода.
readShort
public short readShort() throws IOException
ImageInputStreamshort. Битовый смещение в потоке сбрасывается до нуля перед чтением.
- Определено в:
-
readShortв интерфейсеDataInput - Определено в:
-
readShortв интерфейсеImageInputStream - Возвращает:
- значения со знаком short из потока.
- Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readUnsignedShort
public int readUnsignedShort() throws IOException
ImageInputStreamint, маскирует его с помощью 0xffff, чтобы удалить любые биты расширения знака, и возвращает результат как значение без знака int. Битовый смещение в потоке сбрасывается до нуля перед чтением.
- Определено в:
-
readUnsignedShortв интерфейсеDataInput - Определено в:
-
readUnsignedShortв интерфейсеImageInputStream - Возвращает:
- значения беззнакового short из потока, как целое число.
- Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readChar
public char readChar() throws IOException
ImageInputStreamreadUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char. Битовый смещение в потоке сбрасывается до нуля перед чтением.
- Определено в:
-
readCharв интерфейсеDataInput - Определено в:
-
readCharв интерфейсеImageInputStream - Возвращает:
- значения беззнакового char из потока.
- Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readInt
public int readInt() throws IOException
ImageInputStreamint. Битовый смещение в потоке игнорируется и обрабатывается как ноль.
- Определено в:
-
readIntв интерфейсеDataInput - Определено в:
-
readIntв интерфейсеImageInputStream - Возвращает:
- значения со знаком int из потока.
- Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readUnsignedInt
public long readUnsignedInt() throws IOException
ImageInputStream0xffffffffL, чтобы удалить любые биты расширения знака, и возвращает результат как значение без знака long. Битовый смещение в потоке сбрасывается до нуля перед чтением.
- Определено в:
-
readUnsignedIntв интерфейсеImageInputStream - Возвращает:
- значения беззнакового int из потока, как long.
- Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readLong
public long readLong() throws IOException
ImageInputStreamlong. Битовый смещение в потоке сбрасывается до нуля перед чтением.
- Определено в:
-
readLongв интерфейсеDataInput - Определено в:
-
readLongв интерфейсеImageInputStream - Возвращает:
- значения со знаком long из потока.
- Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readFloat
public float readFloat() throws IOException
ImageInputStreamfloat. Битовый смещение в потоке сбрасывается до нуля перед чтением.
- Определено в:
-
readFloatв интерфейсеDataInput - Определено в:
-
readFloatв интерфейсеImageInputStream - Возвращает:
- значения float из потока.
- Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readDouble
public double readDouble() throws IOException
ImageInputStreamdouble. Битовый смещение в потоке сбрасывается до нуля перед чтением.
- Определено в:
-
readDoubleв интерфейсеDataInput - Определено в:
-
readDoubleв интерфейсеImageInputStream - Возвращает:
- значения double из потока.
- Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readLine
public String readLine() throws IOException
ImageInputStreamString. Обратите внимание, что поскольку этот метод обрабатывает байты, он не поддерживает ввод всего набора символов Юникод. Если конец файла встречен до того, как будет прочитан хотя бы один байт, то возвращается null. В противном случае каждый прочитанный байт преобразуется в тип char путем расширения нулями. Если встречается символ '\n', он игнорируется, и чтение прекращается. Если встречается символ '\r', он игнорируется, и если следующий байт преобразуется в символ '\n', то он также игнорируется; чтение затем прекращается. Если конец файла встречен до того, как встречены любой из символов '\n' и '\r', чтение прекращается. После прекращения чтения возвращается String, содержащий все прочитанные и не отброшенные символы, взятые в порядке. Обратите внимание, что каждый символ в этой строке будет иметь значение меньше \u0100, то есть (char)256.
Смещение бита в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readLineв интерфейсеDataInput - Определено в:
-
readLineв интерфейсеImageInputStream - Возвращает:
- строку, содержащую строку текста из потока.
- Выбрасывает:
-
IOException- если произошла ошибка ввода-вывода.
readUTF
public String readUTF() throws IOException
ImageInputStreamreadUTF заключается в том, что он считывает представление строки символов Юникод, закодированной в формате изменённого 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
ImageInputStreamlen байтов из потока и сохраняет их в b, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException. Смещение бита в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readFullyв интерфейсеDataInput - Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
b- массив байтов, в который будут записаны байты. -
off- начальная позиция вbдля записи. -
len- максимальное количество байтов для чтения. - Выбрасывает:
-
EOFException- если поток достигает конца до чтения всех байтов. -
IOException- если произошла ошибка ввода-вывода.
readFully
public void readFully(byte[] b) throws IOException
ImageInputStreamb.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
ImageInputStreamlen коротеньких целых чисел (знаковых 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
ImageInputStreamlen символов (беззнаковых 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
ImageInputStreamlen целых чисел (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
ImageInputStreamlen длинных целых чисел (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
ImageInputStreamlen чисел с плавающей точкой (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
ImageInputStreamlen чисел с двойной точностью (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
ImageInputStreamreadBits. Значение 0 соответствует старшему биту, а значение 7 - младшему биту читаемого байта. Смещение бита устанавливается в 0 при первом открытии потока и сбрасывается до 0 при вызовах методов seek, skipBytes или любых методах read или readFully.
- Определено в:
-
getBitOffsetв интерфейсеImageInputStream - Возвращает:
- целое число, содержащее битовое смещение от 0 до 7 включительно.
- Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
setBitOffset
public void setBitOffset(int bitOffset) throws IOException
ImageInputStreamgetStreamPosition, остается неизменным. Значение 0 соответствует старшему биту, а значение 7 - младшему биту читаемого байта.- Определено в:
-
setBitOffsetв интерфейсеImageInputStream - Параметры:
-
bitOffset- желаемое смещение, целое число от 0 до 7 включительно. - Исключения:
-
IOException- если произошла ошибка ввода-вывода. - См. также:
readBit
public int readBit() throws IOException
ImageInputStreamint или 0. Смещение бита увеличивается на 1 и уменьшается по модулю 8.- Определено в:
-
readBitв интерфейсеImageInputStream - Возвращает:
- целое число, содержащее значение
0или1. - Исключения:
-
EOFException- если поток достигнет конца до чтения всех битов. -
IOException- если произошла ошибка ввода-вывода.
readBits
public long readBits(int numBits) throws IOException
ImageInputStreamgetStreamPosition, в бите, заданном 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 Будет выброшено исключение 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
ImageInputStreamIndexOutOfBoundsException. Вызов flushBefore может позволить классам, реализующим этот интерфейс, освободить ресурсы, такие как память или дисковое пространство, используемые для хранения данных из потока.
- Определено в:
-
flushBeforeв интерфейсеImageInputStream - Параметры:
-
pos- значениеlong, содержащее длину префикса потока, который можно сбросить. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
flush
public void flush() throws IOException
ImageInputStreamflushBefore(getStreamPosition()).- Определено в:
-
flushв интерфейсеImageInputStream - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
getFlushedPosition
public long getFlushedPosition()
ImageInputStreamflushBefore.- Определено в:
-
getFlushedPositionв интерфейсеImageInputStream - Возвращает:
- самую раннюю допустимую позицию для перехода, как значение
long.
isCached
public boolean isCached()
- Определено в:
-
isCachedв интерфейсеImageInputStream - Возвращает:
-
true, если этотImageInputStreamкэширует данные. - См. также:
isCachedMemory
public boolean isCachedMemory()
- Определено в:
-
isCachedMemoryв интерфейсеImageInputStream - Возвращает:
-
true, если этотImageInputStreamкэширует данные в оперативной памяти. - См. также:
isCachedFile
public boolean isCachedFile()
- Определено в:
-
isCachedFileв интерфейсеImageInputStream - Возвращает:
-
true, если этотImageInputStreamкэширует данные в временном файле. - См. также:
close
public void close() throws IOException
ImageInputStreamIOException или к неправильной работе. Вызов этого метода может позволить классам, реализующим этот интерфейс, освободить ресурсы, связанные с потоком, такие как память, дисковое пространство или дескрипторы файлов.- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Определено в:
-
closeв интерфейсеImageInputStream - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
finalize
@Deprecated(since="9", forRemoval=true) protected void finalize() throws Throwable
Object.finalize() для получения дополнительной информации и подробностей о вариантах миграции.close вызывается для закрытия любого открытого источника ввода. Этот метод не должен вызываться кодом приложения.
© 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