Класс ImageInputStreamImpl
- Все реализуемые интерфейсы:
-
Closeable,DataInput,AutoCloseable,ImageInputStream
- Непосредственные известные подклассы:
-
FileCacheImageInputStream,FileImageInputStream,ImageOutputStreamImpl,MemoryCacheImageInputStream
public abstract class ImageInputStreamImpl extends Object implements ImageInputStream
ImageInputStream. Этот класс разработан для уменьшения количества методов, которые должны быть реализованы подклассами. В частности, этот класс обрабатывает большинство или все детали интерпретации порядка байтов, буферизации, установки/восстановления метки, удаления, закрытия и удаления.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
bitOffset |
Текущее битовое смещение в потоке. |
protected ByteOrder |
byteOrder |
Порядок байтов потока в виде экземпляра перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN указывает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN указывает обратный порядок. |
protected long |
flushedPos |
Позиция, перед которой данные могут быть удалены. |
protected long |
streamPos |
Текущая позиция чтения в потоке. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ImageInputStreamImpl() |
Конструирует ImageInputStreamImpl. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
protected final void |
checkClosed() |
Выбрасывает IOException, если поток закрыт. |
void |
close() |
Закрывает поток. |
protected void |
finalize() |
Устарело. |
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 если он ненулевой, 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 двойных чисел (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() |
Считывает строку, закодированную в формате модифицированного 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 указывает так называемый порядок байтов большого конца или сетевой порядок байтов, в котором байт старшего порядка идёт первым. Процессоры 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
int от 0 до 255. Если достигнут конец потока, возвращается -1. Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновлять позицию потока перед завершением.
Битовое смещение в потоке должно быть сброшено до нуля перед чтением.
- Specified by:
-
readв интерфейсеImageInputStream - Returns:
- значение следующего байта в потоке или
-1если достигнут конец потока. - Throws:
-
IOException- если поток закрыт.
read
public int read(byte[] b) throws IOException
read(b, 0, b.length). Битовое смещение в потоке сбрасывается до нуля перед чтением.
- Specified by:
-
readв интерфейсеImageInputStream - Parameters:
-
b- массив байтов, которые будут записаны. - Returns:
- количество фактически прочитанных байтов или
-1для обозначения конца потока. - Throws:
-
NullPointerException- еслиbравноnull. -
IOException- если произошла ошибка ввода-вывода.
read
public abstract int read(byte[] b, int off, int len) throws IOException
len байтов из потока и сохраняет их в b начиная с индекса off. Если не удаётся прочитать байты из-за достижения конца потока, возвращается -1. Битовое смещение в потоке должно быть сброшено до нуля перед чтением.
Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновлять позицию потока перед завершением.
- Specified by:
-
readв интерфейсеImageInputStream - Parameters:
-
b- массив байтов, в который будет записано. -
off- начальная позиция вbдля записи. -
len- максимальное количество байтов для чтения. - Returns:
- количество фактически прочитанных байтов или
-1для обозначения конца потока. - Throws:
-
IndexOutOfBoundsException- еслиoffотрицательно,lenотрицательно илиoff + lenбольшеb.length. -
NullPointerException- еслиbравноnull. -
IOException- если произошла ошибка ввода-вывода.
readBytes
public void readBytes(IIOByteBuffer buf, int len) throws IOException
ImageInputStreamlen байтов из потока и изменяет предоставленный IIOByteBuffer для указания массива байтов, смещения и длины, где могут быть найдены данные. Вызывающий метод не должен пытаться изменить данные, найденные в IIOByteBuffer. Битовое смещение в потоке сбрасывается до нуля перед чтением.
- Specified by:
-
readBytesв интерфейсеImageInputStream - Parameters:
-
buf- объект IIOByteBuffer, который будет изменён. -
len- максимальное количествоbyteдля чтения. - Throws:
-
IOException- если произошла ошибка ввода-вывода.
readBoolean
public boolean readBoolean() throws IOException
ImageInputStreamboolean true, если оно ненулевое, 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 - Возвращает:
- знаковое значение короткого целого из потока.
- Использует:
-
EOFException- если поток достигает конца, прежде чем прочитать все байты. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readUnsignedShort
public int readUnsignedShort() throws IOException
ImageInputStreamint, маскирует его с помощью 0xffff для удаления каких-либо бит расширения знака и возвращает результат как беззнаковое int значение. Битовый смещение в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readUnsignedShortв интерфейсеDataInput - Определено в:
-
readUnsignedShortв интерфейсеImageInputStream - Возвращает:
- беззнаковое значение короткого целого из потока, как целое число.
- Использует:
-
EOFException- если поток достигает конца, прежде чем прочитать все байты. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readChar
public char readChar() throws IOException
ImageInputStreamreadUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char. Битовый смещение в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readCharв интерфейсеDataInput - Определено в:
-
readCharв интерфейсеImageInputStream - Возвращает:
- беззнаковое значение символа из потока.
- Использует:
-
EOFException- если поток достигает конца, прежде чем прочитать все байты. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readInt
public int readInt() throws IOException
ImageInputStreamint. Битовое смещение в потоке игнорируется и обрабатывается так, как будто оно равно нулю.
- Определено в:
-
readIntв интерфейсеDataInput - Определено в:
-
readIntв интерфейсеImageInputStream - Возвращает:
- знаковое значение целого из потока.
- Использует:
-
EOFException- если поток достигает конца, прежде чем прочитать все байты. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readUnsignedInt
public long readUnsignedInt() throws IOException
ImageInputStream0xffffffffL для удаления каких-либо бит расширения знака и возвращает результат как беззнаковое long значение. Битовый смещение в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readUnsignedIntв интерфейсеImageInputStream - Возвращает:
- беззнаковое значение целого из потока, как long.
- Использует:
-
EOFException- если поток достигает конца, прежде чем прочитать все байты. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readLong
public long readLong() throws IOException
ImageInputStreamlong. Битовый смещение в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readLongв интерфейсеDataInput - Определено в:
-
readLongв интерфейсеImageInputStream - Возвращает:
- знаковое значение длинного целого из потока.
- Использует:
-
EOFException- если поток достигает конца, прежде чем прочитать все байты. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readFloat
public float readFloat() throws IOException
ImageInputStreamfloat. Битовый смещение в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readFloatв интерфейсеDataInput - Определено в:
-
readFloatв интерфейсеImageInputStream - Возвращает:
- значение с плавающей запятой из потока.
- Использует:
-
EOFException- если поток достигает конца, прежде чем прочитать все байты. -
IOException- если произошла ошибка ввода-вывода. - См. также:
readDouble
public double readDouble() throws IOException
ImageInputStreamdouble. Битовый смещение в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readDoubleв интерфейсеDataInput - Определено в:
-
readDoubleв интерфейсеImageInputStream - Возвращает:
- значение двойной точности из потока.
- Использует:
-
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 заключается в том, что она считывает представление строки Unicode, закодированной в формате изменённого UTF-8; эта строка символов затем возвращается как String. Сначала считываются два байта и используются для построения целого без знака 16 бит по аналогии с методом readUnsignedShort, используя сетевой порядок байтов (независимо от текущей настройки порядка байтов). Это целое значение называется длиной UTF и определяет количество дополнительных байтов, которые необходимо считать. Эти байты затем преобразуются в символы, рассматривая их группами. Длина каждой группы вычисляется из значения первого байта группы. Байты, следующие за группой, если они есть, являются первыми байтами следующей группы.
Если первый байт группы соответствует битовой маске 0xxxxxxx (где x означает "может быть 0 или 1"), то группа состоит только из этого байта. Байты расширяются нулями, чтобы образовать символ.
Если первый байт группы соответствует битовой маске 110xxxxx, то группа состоит из этого байта a и второго байта b. Если байта b нет (потому что байт a был последним из считанных байтов), или если байт b не соответствует битовой маске 10xxxxxx, то выбрасывается исключение UTFDataFormatException. В противном случае группа преобразуется в символ:
(char)(((a& 0x1F) << 6) | (b & 0x3F))
Если первый байт группы соответствует битовой маске 1110xxxx, то группа состоит из этого байта a и двух последующих байтов b и c. Если байта c нет (потому что байт a был одним из двух последних считанных байтов), или байт b или байт c не соответствует битовой маске 10xxxxxx, то выбрасывается исключение UTFDataFormatException. В противном случае группа преобразуется в символ:
(char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
Если первый байт группы соответствует маске 1111xxxx или маске 10xxxxxx, то выбрасывается исключение UTFDataFormatException. Если в любой момент во время этого процесса обнаружен конец файла, выбрасывается исключение java.io.EOFException.
После преобразования каждой группы в символ все символы собираются в том же порядке, в котором соответствующие группы были считаны из потока ввода, чтобы сформировать String, которое и возвращается.
Текущая настройка порядка байтов игнорируется.
Смещение бита в потоке сбрасывается до нуля перед чтением.
Примечание: Этот метод не следует использовать в реализации форматов изображений, которые используют стандартный UTF-8, так как здесь используется изменённый UTF-8, несовместимый со стандартным UTF-8.
- Определено в:
-
readUTFв интерфейсеDataInput - Определено в:
-
readUTFв интерфейсеImageInputStream - Возвращает:
- считанную из потока строку.
- Бросает:
-
EOFException- если поток достигает конца, прежде чем все байты будут прочитаны. -
UTFDataFormatException- если байты не представляют собой корректного кодирования строки с использованием изменённого UTF-8. -
IOException- если произошла ошибка ввода-вывода.
readFully
public void readFully(byte[] b, int off, int len) throws IOException
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
ImageInputStream0 или 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- количество байтов для перехода вперед. - Возвращает:
- целое число, представляющее количество пропущенных байтов.
- Исключения:
-
IOException- еслиgetStreamPositionвыбрасывает исключениеIOExceptionпри вычислении начальной или конечной позиции.
skipBytes
public long skipBytes(long n) throws IOException
seek(getStreamPosition() + n). Смещение бита сбрасывается в ноль.
- Specified by:
-
skipBytesв интерфейсеImageInputStream - Параметры:
-
n- количество байтов для перемещения вперёд. - Возвращает:
- a
longпредставляющий количество пропущенных байтов. - Исключение:
-
IOException- еслиgetStreamPositionвыбросилIOExceptionпри вычислении начальной или конечной позиции.
seek
public void seek(long pos) throws IOException
ImageInputStream Будет выброшено IndexOutOfBoundsException, если pos меньше очищенной позиции (как возвращает getflushedPosition).
Законно переместиться за конец файла; java.io.EOFException будет выброшен только при чтении.
- Specified by:
-
seekв интерфейсеImageInputStream - Параметры:
-
pos-longсодержащий желаемую позицию указателя файла. - Исключение:
-
IOException- если произошла любая другая ошибка ввода-вывода.
mark
public void mark()
- Specified by:
-
markв интерфейсеImageInputStream
reset
public void reset() throws IOException
Будет выброшен IOException, если предыдущая отмеченная позиция находится в отброшенной части потока.
- Specified by:
-
resetв интерфейсеImageInputStream - Исключение:
-
IOException- если произошла ошибка ввода-вывода.
flushBefore
public void flushBefore(long pos) throws IOException
ImageInputStreamIndexOutOfBoundsException. Вызов flushBefore может позволить классам, реализующим этот интерфейс, освободить ресурсы, такие как память или дисковое пространство, используемые для хранения данных из потока.
- Specified by:
-
flushBeforeв интерфейсеImageInputStream - Параметры:
-
pos-longсодержащий длину префикса потока, который можно очистить. - Исключение:
-
IOException- если произошла ошибка ввода-вывода.
flush
public void flush() throws IOException
ImageInputStreamflushBefore(getStreamPosition()).- Specified by:
-
flushв интерфейсеImageInputStream - Исключение:
-
IOException- если произошла ошибка ввода-вывода.
getFlushedPosition
public long getFlushedPosition()
ImageInputStreamflushBefore.- Specified by:
-
getFlushedPositionв интерфейсеImageInputStream - Возвращает:
- самую раннюю допустимую позицию для перехода, как
long.
isCached
public boolean isCached()
- Specified by:
-
isCachedв интерфейсеImageInputStream - Возвращает:
-
trueесли этотImageInputStreamкэширует данные. - См. также:
isCachedMemory
public boolean isCachedMemory()
- Specified by:
-
isCachedMemoryв интерфейсеImageInputStream - Возвращает:
-
trueесли этотImageInputStreamкэширует данные в оперативной памяти. - См. также:
isCachedFile
public boolean isCachedFile()
- Specified by:
-
isCachedFileв интерфейсеImageInputStream - Возвращает:
-
trueесли этотImageInputStreamкэширует данные во временном файле. - См. также:
close
public void close() throws IOException
ImageInputStreamIOException или некорректному поведению. Вызов этого метода может позволить классам, реализующим этот интерфейс, освободить ресурсы, связанные с потоком, такие как память, дисковое пространство или дескрипторы файлов.- Specified by:
-
closeв интерфейсеAutoCloseable - Specified by:
-
closeв интерфейсеCloseable - Specified by:
-
closeв интерфейсеImageInputStream - Исключение:
-
IOException- если произошла ошибка ввода-вывода.
finalize
@Deprecated(since="9") protected void finalize() throws Throwable
finalize устарел. Подклассы, переопределяющие finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удалить переопределяемый метод finalize. При переопределении метода finalize, его реализация должна явно гарантировать, что super.finalize() вызывается как описано в Object.finalize(). См. спецификацию для Object.finalize() для получения дополнительной информации об опциях миграции.close вызывается для закрытия любого открытого источника ввода. Этот метод не должен вызываться из кода приложения.- Overrides:
-
finalizeв классеObject - Исключение:
-
Throwable- если произошла ошибка во время завершения работы предка. - См. также:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/imageio/stream/ImageInputStreamImpl.html
finalizeустарел.