Класс ImageInputStreamImpl
- Все реализуемые интерфейсы:
Closeable, DataInput, AutoCloseable, ImageInputStream
- Прямые подклассы:
FileCacheImageInputStream, FileImageInputStream, ImageOutputStreamImpl, MemoryCacheImageInputStream
public abstract class ImageInputStreamImpl extends Object implements ImageInputStream
ImageInputStream. Этот класс предназначен для уменьшения числа методов, которые должны реализовывать подклассы. В частности, этот класс обрабатывает большую часть или все аспекты интерпретации порядка байтов, буферизации, установки и сброса меток, отбрасывания данных, закрытия и освобождения ресурсов.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
bitOffset |
Текущее смещение бита в потоке. |
protected ByteOrder |
byteOrder |
Порядок байтов потока в виде экземпляра класса перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN обозначает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN — обратный порядок. |
protected long |
flushedPos |
Позиция, до которой данные могут быть отброшены. |
protected long |
streamPos |
Текущая позиция чтения в потоке. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ImageInputStreamImpl() |
Создает ImageInputStreamImpl. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected final void |
checkClosed() |
Выбрасывает IOException, если поток закрыт. |
void |
close() |
Закрывает поток. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Метод finalize устарел и будет удален. |
void |
flush() |
Отбрасывает начальную позицию потока до текущей позиции потока. |
void |
flushBefore |
Отбрасывает начальную часть потока до указанной позиции. |
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 |
Считывает из потока до len байт и изменяет переданный IIOByteBuffer, указывая массив байтов, смещение и длину, по которым можно найти данные. |
char |
readChar() |
Эквивалентен readUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char. |
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 значений double (64-разрядных чисел с плавающей запятой двойной точности IEEE) в соответствии с текущим порядком байтов и записывает их в d, начиная с индекса off. |
void |
readFully |
Считывает из потока len значений float (32-разрядных чисел с плавающей запятой одинарной точности IEEE) в соответствии с текущим порядком байтов и записывает их в f, начиная с индекса off. |
void |
readFully |
Считывает из потока len значений int (знаковых 32-разрядных целых чисел) в соответствии с текущим порядком байтов и записывает их в i, начиная с индекса off. |
void |
readFully |
Считывает из потока len значений long (знаковых 64-разрядных целых чисел) в соответствии с текущим порядком байтов и записывает их в l, начиная с индекса off. |
void |
readFully |
Считывает из потока len значений short (знаковых 16-разрядных целых чисел) в соответствии с текущим порядком байтов и записывает их в s, начиная с индекса off. |
int |
readInt() |
Считывает из потока 4 байта, объединяет их (концептуально) в соответствии с текущим порядком байтов и возвращает результат как int. |
String |
readLine() |
Считывает следующую строку текста из входного потока. |
long |
readLong() |
Считывает из потока 8 байт, объединяет их (концептуально) в соответствии с текущим порядком байтов и возвращает результат как long. |
short |
readShort() |
Считывает из потока два байта, объединяет их (концептуально) в соответствии с текущим порядком байтов и возвращает результат как значение short. |
int |
readUnsignedByte() |
Считывает байт из потока, преобразует его (концептуально) в int, применяет к нему маску 0xff, чтобы отбросить биты знакового расширения, и возвращает результат как значение byte. |
long |
readUnsignedInt() |
Считывает из потока 4 байта, объединяет их (концептуально) в соответствии с текущим порядком байтов, преобразует результат в long, применяет к нему маску 0xffffffffL, чтобы отбросить биты знакового расширения, и возвращает результат как беззнаковое значение long. |
int |
readUnsignedShort() |
Считывает из потока два байта, объединяет их (концептуально) в соответствии с текущим порядком байтов, преобразует полученное значение в int, применяет к нему маску 0xffff, чтобы отбросить биты знакового расширения, и возвращает результат как беззнаковое значение int. |
String |
readUTF() |
Считывает строку, закодированную в формате модифицированного UTF-8. |
void |
reset() |
Восстанавливает текущие позиции байта и бита потока из стека отмеченных позиций. |
void |
seek |
Устанавливает текущую позицию потока в заданное место. |
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, если поток был закрыт. Подклассы могут вызывать этот метод из любых своих методов, для работы которых поток не должен быть закрыт.- Выбрасывает:
-
IOException— если поток закрыт.
setByteOrder
public void setByteOrder(ByteOrder byteOrder)
ImageInputStream Для указания порядка байтов используется класс перечисления java.nio.ByteOrder. Значение ByteOrder.BIG_ENDIAN задает так называемый порядок от старшего к младшему, или сетевой порядок байтов, при котором старший байт идет первым. Процессоры Motorola и Sparc хранят данные в этом формате, тогда как процессоры Intel используют обратный порядок ByteOrder.LITTLE_ENDIAN.
Порядок байтов не влияет на результаты, возвращаемые методом readBits (или на значение, записываемое методом ImageOutputStream.writeBits).
- Определено в:
-
setByteOrderв интерфейсеImageInputStream - Параметры:
-
byteOrder— одно из значенийByteOrder.BIG_ENDIANилиjava.nio.ByteOrder.LITTLE_ENDIAN, указывающее, будет ли при последующем чтении использоваться сетевой порядок байтов или обратный порядок. - См. также:
getByteOrder
public ByteOrder getByteOrder()
ImageInputStreamjava.nio.ByteOrder.- Определено в:
-
getByteOrderв интерфейсеImageInputStream - Возвращает:
- одно из значений
ByteOrder.BIG_ENDIANилиByteOrder.LITTLE_ENDIAN, указывающее используемый порядок байтов. - См. также:
read
public abstract int read() throws IOException
int в диапазоне от 0 до 255. Если достигнут конец файла (EOF), возвращается -1. Подклассы должны предоставить реализацию этого метода. Реализация подкласса должна обновить позицию в потоке перед завершением работы.
Перед чтением смещение в битах в потоке должно быть сброшено в ноль.
- Определено в:
-
readв интерфейсеImageInputStream - Возвращает:
- значение следующего байта в потоке или
-1, если достигнут конец файла (EOF). - Выбрасывает:
-
IOException— если поток был закрыт.
read
public int read(byte[] b) throws IOException
read(b, 0, b.length). Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определено в:
-
readв интерфейсеImageInputStream - Параметры:
-
b— массив байтов для записи. - Возвращает:
- фактическое число прочитанных байтов или
-1, указывающее на конец файла (EOF). - Выбрасывает:
-
NullPointerException— еслиbимеет значениеnull. -
IOException— если произошла ошибка ввода-вывода.
read
public abstract int read(byte[] b, int off, int len) throws IOException
len байтов и сохраняет их в b, начиная с индекса off. Если байты невозможно прочитать, поскольку достигнут конец потока, возвращается -1. Перед чтением смещение в битах в потоке должно быть сброшено в ноль.
Подклассы должны предоставить реализацию этого метода. Реализация подкласса должна обновить позицию в потоке перед завершением работы.
- Определено в:
-
readв интерфейсеImageInputStream - Параметры:
-
b— массив байтов для записи. -
off— начальная позиция вb, начиная с которой выполняется запись. -
len— максимальное число байтов для чтения. - Возвращает:
- фактическое число прочитанных байтов или
-1, указывающее на конец файла (EOF). - Выбрасывает:
-
IndexOutOfBoundsException— еслиoffотрицательно,lenотрицательно илиoff + lenбольшеb.length. -
NullPointerException— еслиbимеет значениеnull. -
IOException— если произошла ошибка ввода-вывода.
readBytes
public void readBytes(IIOByteBuffer buf, int len) throws IOException
ImageInputStreamlen байтов и изменяет переданный IIOByteBuffer, указывая массив байтов, смещение и длину данных. Вызывающий код не должен пытаться изменять данные, содержащиеся в IIOByteBuffer. Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определено в:
-
readBytesв интерфейсеImageInputStream - Параметры:
-
buf— объект IIOByteBuffer, который будет изменен. -
len— максимальное числоbyteдля чтения. - Выбрасывает:
-
IOException— если произошла ошибка ввода-вывода.
readBoolean
public boolean readBoolean() throws IOException
ImageInputStreamboolean: true, если байт не равен нулю, и false, если он равен нулю. Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определено в:
-
readBooleanв интерфейсеDataInput - Определено в:
-
readBooleanв интерфейсеImageInputStream - Возвращает:
- значение типа boolean из потока.
- Выбрасывает:
-
EOFException— если достигнут конец потока. -
IOException— если произошла ошибка ввода-вывода.
readByte
public byte readByte() throws IOException
ImageInputStreambyte. Значения байтов от 0x00 до 0x7f представляют целые числа от 0 до 127. Значения от 0x80 до 0xff представляют отрицательные числа от -128 до /1. Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определено в:
-
readByteв интерфейсеDataInput - Определено в:
-
readByteв интерфейсеImageInputStream - Возвращает:
- знаковое значение типа byte из потока.
- Выбрасывает:
-
EOFException— если достигнут конец потока. -
IOException— если произошла ошибка ввода-вывода.
readUnsignedByte
public int readUnsignedByte() throws IOException
ImageInputStream0xff, чтобы отбросить биты расширения знака, и возвращает его как значение byte. Таким образом, значения байтов от 0x00 до 0x7f просто возвращаются как целые числа от 0 до 127. Значения от 0x80 до 0xff, которые обычно представляют отрицательные значения типа byte, преобразуются в положительные целые числа от 128 до 255.
Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определено в:
-
readUnsignedByteв интерфейсеDataInput - Определено в:
-
readUnsignedByteв интерфейсеImageInputStream - Возвращает:
- беззнаковое значение типа byte из потока.
- Выбрасывает:
-
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 из потока в виде int.
- Выбрасывает:
-
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. Обратите внимание: поскольку этот метод обрабатывает байты, он не поддерживает ввод полного набора символов Unicode. Если конец файла встречен до того, как удалось прочитать хотя бы один байт, возвращается null. В противном случае каждый прочитанный байт преобразуется в тип char путем расширения нулями. Если встречается символ '\n', он отбрасывается и чтение прекращается. Если встречается символ '\r', он отбрасывается и, если следующий байт преобразуется в символ '\n', этот символ также отбрасывается; затем чтение прекращается. Если конец файла встречается до появления одного из символов '\n' и '\r', чтение прекращается. После завершения чтения возвращается String, содержащая все прочитанные и неотброшенные символы в исходном порядке. Обратите внимание: значение каждого символа в этой строке будет меньше \u0100, то есть (char)256.
Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определено в:
-
readLineв интерфейсеDataInput - Определено в:
-
readLineв интерфейсеImageInputStream - Возвращает:
- строку, содержащую строку текста из потока.
- Выбрасывает:
-
IOException— если произошла ошибка ввода-вывода.
readUTF
public String readUTF() throws IOException
ImageInputStreamreadUTF считывает представление строки символов Unicode, закодированной в формате модифицированного UTF-8; затем эта строка символов возвращается как String. Сначала считываются два байта, из которых способом, аналогичным методу readUnsignedShort, создается беззнаковое 16-битовое целое число с использованием сетевого порядка байтов (независимо от текущей настройки порядка байтов). Это целочисленное значение называется длиной UTF и задает число дополнительных байтов, которые необходимо прочитать. Затем эти байты преобразуются в символы путем их группировки. Длина каждой группы определяется значением ее первого байта. Следующий за группой байт, если он есть, является первым байтом следующей группы.
Если первый байт группы соответствует битовому шаблону 0xxxxxxx (где x означает «может быть 0 или 1»), группа состоит только из этого байта. Байту добавляются нулевые биты, чтобы получить символ.
Если первый байт группы соответствует битовому шаблону 110xxxxx, группа состоит из этого байта a и второго байта b. Если байт b отсутствует (поскольку байт a был последним прочитанным байтом) или байт b не соответствует битовому шаблону 10xxxxxx, выбрасывается UTFDataFormatException. В противном случае группа преобразуется в символ:
(char)(((a& 0x1F) << 6) | (b & 0x3F))
Если первый байт группы соответствует битовому шаблону 1110xxxx, группа состоит из этого байта a и еще двух байтов — b и c. Если байт c отсутствует (поскольку байт a был одним из двух последних прочитанных байтов) или байт b либо байт c не соответствует битовому шаблону 10xxxxxx, выбрасывается UTFDataFormatException. В противном случае группа преобразуется в символ: (char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
Если первый байт группы соответствует шаблону 1111xxxx или шаблону 10xxxxxx, выбрасывается UTFDataFormatException. Если в любой момент этого процесса встречается конец файла, выбрасывается java.io.EOFException.
После преобразования каждой группы в символ полученные символы собираются в том же порядке, в котором соответствующие группы были прочитаны из входного потока, образуя String, которая возвращается.
Текущая настройка порядка байтов игнорируется.
Перед чтением смещение в битах в потоке сбрасывается в ноль.
Примечание: Этот метод не следует использовать при реализации форматов изображений, в которых применяется стандартный UTF-8, поскольку используемый здесь модифицированный UTF-8 несовместим со стандартным UTF-8.
- Определено в:
-
readUTFв интерфейсеDataInput - Определено в:
-
readUTFв интерфейсеImageInputStream - Возвращает:
- строку, прочитанную из потока.
- Выбрасывает:
-
EOFException— если поток достигает конца до чтения всех байтов. -
UTFDataFormatException— если байты не представляют допустимую строку в кодировке модифицированного UTF-8. -
IOException— если произошла ошибка ввода-вывода.
readFully
public void readFully(byte[] b, int off, int len) throws IOException
ImageInputStreamlen байтов и сохраняет их в b, начиная с индекса off. Если достигнут конец потока, выбрасывается java.io.EOFException. Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определено в:
-
readFullyв интерфейсеDataInput - Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
b— массив байтов для записи. -
off— начальная позиция вb, начиная с которой выполняется запись. -
len— максимальное числоbyteдля чтения. - Выбрасывает:
-
EOFException— если поток достигает конца до чтения всех байтов. -
IOException— если произошла ошибка ввода-вывода.
readFully
public void readFully(byte[] b) throws IOException
ImageInputStreamb.length байтов и сохраняет их в b, начиная с индекса 0. Если достигнут конец потока, выбрасывается java.io.EOFException. Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определено в:
-
readFullyв интерфейсеDataInput - Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
b— массивbyte. - Выбрасывает:
-
EOFException— если поток достигает конца до чтения всех байтов. -
IOException— если произошла ошибка ввода-вывода.
readFully
public void readFully(short[] s, int off, int len) throws IOException
ImageInputStreamlen значений типа short (16-разрядных целых чисел со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в s, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException. Перед чтением битовое смещение в потоке сбрасывается в ноль.
- Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
s— массив значений типа short, в который будут записаны данные. -
off— начальная позиция вs, с которой следует выполнять запись. -
len— максимальное количество значенийshortдля чтения. - Исключения:
-
EOFException— если поток достигнет конца до чтения всех байтов. -
IOException— если произойдет ошибка ввода-вывода.
readFully
public void readFully(char[] c, int off, int len) throws IOException
ImageInputStreamlen значений типа char (беззнаковых 16-разрядных целых чисел) из потока в соответствии с текущим порядком байтов и сохраняет их в c, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException. Перед чтением битовое смещение в потоке сбрасывается в ноль.
- Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
c— массив значений типа char, в который будут записаны данные. -
off— начальная позиция вc, с которой следует выполнять запись. -
len— максимальное количество значенийcharдля чтения. - Исключения:
-
EOFException— если поток достигнет конца до чтения всех байтов. -
IOException— если произойдет ошибка ввода-вывода.
readFully
public void readFully(int[] i, int off, int len) throws IOException
ImageInputStreamlen значений типа int (32-разрядных целых чисел со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в i, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException. Перед чтением битовое смещение в потоке сбрасывается в ноль.
- Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
i— массив значений типа int, в который будут записаны данные. -
off— начальная позиция вi, с которой следует выполнять запись. -
len— максимальное количество значенийintдля чтения. - Исключения:
-
EOFException— если поток достигнет конца до чтения всех байтов. -
IOException— если произойдет ошибка ввода-вывода.
readFully
public void readFully(long[] l, int off, int len) throws IOException
ImageInputStreamlen значений типа long (64-разрядных целых чисел со знаком) из потока в соответствии с текущим порядком байтов и сохраняет их в l, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException. Перед чтением битовое смещение в потоке сбрасывается в ноль.
- Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
l— массив значений типа long, в который будут записаны данные. -
off— начальная позиция вl, с которой следует выполнять запись. -
len— максимальное количество значенийlongдля чтения. - Исключения:
-
EOFException— если поток достигнет конца до чтения всех байтов. -
IOException— если произойдет ошибка ввода-вывода.
readFully
public void readFully(float[] f, int off, int len) throws IOException
ImageInputStreamlen значений типа float (32-разрядных чисел с плавающей запятой одинарной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в f, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException. Перед чтением битовое смещение в потоке сбрасывается в ноль.
- Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
f— массив значений типа float, в который будут записаны данные. -
off— начальная позиция вf, с которой следует выполнять запись. -
len— максимальное количество значенийfloatдля чтения. - Исключения:
-
EOFException— если поток достигнет конца до чтения всех байтов. -
IOException— если произойдет ошибка ввода-вывода.
readFully
public void readFully(double[] d, int off, int len) throws IOException
ImageInputStreamlen значений типа double (64-разрядных чисел с плавающей запятой двойной точности IEEE) из потока в соответствии с текущим порядком байтов и сохраняет их в d, начиная с индекса off. Если достигнут конец потока, будет выброшено исключение java.io.EOFException. Перед чтением битовое смещение в потоке сбрасывается в ноль.
- Определено в:
-
readFullyв интерфейсеImageInputStream - Параметры:
-
d— массив значений типа double, в который будут записаны данные. -
off— начальная позиция вd, с которой следует выполнять запись. -
len— максимальное количество значенийdoubleдля чтения. - Исключения:
-
EOFException— если поток достигнет конца до чтения всех байтов. -
IOException— если произойдет ошибка ввода-вывода.
getStreamPosition
public long getStreamPosition() throws IOException
ImageInputStream- Определено в:
-
getStreamPositionв интерфейсеImageInputStream - Возвращает:
- значение long, содержащее позицию в потоке.
- Исключения:
-
IOException— если произойдет ошибка ввода-вывода.
getBitOffset
public int getBitOffset() throws IOException
ImageInputStreamreadBits. Значение 0 обозначает старший бит, а значение 7 — младший бит считываемого байта. Битовое смещение устанавливается в 0 при первом открытии потока и сбрасывается в 0 при вызовах seek, skipBytes или любого метода read либо readFully.
- Определено в:
-
getBitOffsetв интерфейсеImageInputStream - Возвращает:
- значение
int, содержащее битовое смещение от 0 до 7 включительно. - Исключения:
-
IOException— если произойдет ошибка ввода-вывода. - См. также:
setBitOffset
public void setBitOffset(int bitOffset) throws IOException
ImageInputStreamgetStreamPosition, остается без изменений. Значение 0 обозначает старший бит, а значение 7 — младший бит считываемого байта.- Определено в:
-
setBitOffsetв интерфейсеImageInputStream - Параметры:
-
bitOffset— требуемое смещение в виде значенияintот 0 до 7 включительно. - Исключения:
-
IOException— если произойдет ошибка ввода-вывода. - См. также:
readBit
public int readBit() throws IOException
ImageInputStreamint со значением 0 или 1. Битовое смещение увеличивается на единицу и берется по модулю 8.- Определено в:
-
readBitв интерфейсеImageInputStream - Возвращает:
- значение
int, содержащее значение0или1. - Исключения:
-
EOFException— если поток достигнет конца до чтения всех битов. -
IOException— если произойдет ошибка ввода-вывода.
readBits
public long readBits(int numBits) throws IOException
ImageInputStreamlong; первый считанный бит становится старшим битом результата. Чтение начинается в байте, указанном getStreamPosition, с бита, заданного getBitOffset. Битовое смещение увеличивается на numBits и берется по модулю 8. Порядок байтов потока не влияет на этот метод. Возвращаемое значение этого метода формируется так, как если бы биты считывались по одному и сдвигались в правую часть возвращаемого значения, как показано в следующем псевдокоде:
long accum = 0L;
for (int i = 0; i < numBits; i++) {
accum <<= 1; // Shift left one bit to make room
accum |= readBit();
}
Обратите внимание, что результат readBits(32) может поэтому отличаться от результата readInt() при использовании обратного сетевого порядка байтов (то есть getByteOrder() == false). Если конец потока встретится до чтения всех битов, будет выброшено исключение java.io.EOFException.
- Определено в:
-
readBitsв интерфейсеImageInputStream - Параметры:
-
numBits— количество битов для чтения в виде значенияintот 0 до 64 включительно. - Возвращает:
- битовую строку в виде
long, причем последний считанный бит хранится в младшем бите. - Исключения:
-
EOFException— если поток достигнет конца до чтения всех битов. -
IOException— если произойдет ошибка ввода-вывода.
length
public long length()
-1L, указывая, что длина потока неизвестна. Подклассы должны переопределить этот метод, чтобы предоставить сведения о фактической длине.- Определено в:
-
lengthв интерфейсеImageInputStream - Возвращает:
- -1L, указывающее на неизвестную длину.
skipBytes
public int skipBytes(int n) throws IOException
seek(getStreamPosition() + n). Битовое смещение сбрасывается в ноль.
- Определено в:
-
skipBytesв интерфейсеDataInput - Определено в:
-
skipBytesв интерфейсеImageInputStream - Параметры:
-
n— количество байтов, на которое нужно переместиться вперед. - Возвращает:
- значение
int, обозначающее количество пропущенных байтов. - Исключения:
-
IOException— еслиgetStreamPositionвыбрасываетIOExceptionпри вычислении начальной или конечной позиции.
skipBytes
public long skipBytes(long n) throws IOException
seek(getStreamPosition() + n). Битовое смещение сбрасывается в ноль.
- Определено в:
-
skipBytesв интерфейсеImageInputStream - Параметры:
-
n— количество байтов, на которое нужно переместиться вперед. - Возвращает:
- значение
long, обозначающее количество пропущенных байтов. - Исключения:
-
IOException— еслиgetStreamPositionвыбрасываетIOExceptionпри вычислении начальной или конечной позиции.
seek
public void seek(long pos) throws IOException
ImageInputStream Будет выброшено исключение 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/imageio/stream/ImageInputStreamImpl.html