Класс 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() |
Закрывает поток. |
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). |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного интервала реального времени. |
final void |
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, если поток был закрыт. Подклассы могут вызывать этот метод из любого своего метода, которому требуется, чтобы поток оставался открытым.- Выбрасывает:
-
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. Если достигнут конец файла, возвращается -1. Подклассы должны предоставить реализацию этого метода. Реализация подкласса должна обновить позицию в потоке перед завершением работы.
Перед чтением смещение в битах в потоке должно быть сброшено в ноль.
- Определяется в:
-
readв интерфейсеImageInputStream - Возвращает:
- значение следующего байта в потоке или
-1, если достигнут конец файла. - Выбрасывает:
-
IOException— если поток был закрыт.
read
public int read(byte[] b) throws IOException
read(b, 0, b.length). Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определяется в:
-
readв интерфейсеImageInputStream - Параметры:
-
b— массив байтов, в который будут записаны данные. - Возвращает:
- фактически считанное количество байтов или
-1, обозначающее конец файла. - Выбрасывает:
-
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, обозначающее конец файла. - Выбрасывает:
-
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 - Возвращает:
- логическое значение из потока.
- Выбрасывает:
-
EOFException— если достигнут конец потока. -
IOException— если возникает ошибка ввода-вывода.
readByte
public byte readByte() throws IOException
ImageInputStreambyte. Значения байтов от 0x00 до 0x7f представляют целые числа от 0 до 127. Значения от 0x80 до 0xff представляют отрицательные числа от -128 до /1. Перед чтением смещение в битах в потоке сбрасывается в ноль.
- Определяется в:
-
readByteв интерфейсеDataInput - Определяется в:
-
readByteв интерфейсеImageInputStream - Возвращает:
- значение знакового байта из потока.
- Выбрасывает:
-
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 из потока в виде 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 - Возвращает:
- строку String, содержащую строку текста из потока.
- Выбрасывает:
-
IOException— если возникает ошибка ввода-вывода.
readUTF
public String readUTF() throws IOException
ImageInputStreamreadUTF считывает представление строки символов 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 - Возвращает:
- строку String, считанную из потока.
- Выбрасывает:
-
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 Если pos меньше сброшенной позиции (возвращаемой методом getflushedPosition), будет выброшено исключение IndexOutOfBoundsException.
Перемещение за конец файла допустимо; исключение 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— если произошла ошибка ввода-вывода.
© 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.