Класс ImageInputStreamImpl
- Все реализуемые интерфейсы:
-
Closeable,DataInput,AutoCloseable,ImageInputStream
- Непосредственные известные подклассы:
-
FileCacheImageInputStream,FileImageInputStream,ImageOutputStreamImpl,MemoryCacheImageInputStream
public abstract class ImageInputStreamImpl extends Object implements ImageInputStream
ImageInputStream. Данный класс призван сократить количество методов, которые должны быть реализованы подклассами. В частности, этот класс обрабатывает большинство или все детали интерпретации порядка байтов, буферизации, отметки/сброса, удаления, закрытия и уничтожения.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
bitOffset |
Текущее битовое смещение в потоке. |
protected ByteOrder |
byteOrder |
Порядок байтов потока как экземпляр перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN указывает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN указывает обратный порядок. |
protected long |
flushedPos |
Позиция до которой данные могут быть удалены. |
protected long |
streamPos |
Текущая позиция чтения в потоке. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ImageInputStreamImpl() |
Создает ImageInputStreamImpl. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected final void |
checkClosed() |
Выбрасывает IOException, если поток закрыт. |
void |
close() |
Закрывает поток. |
protected void |
finalize() |
Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии. Финализация устарела и подлежит удалению. |
void |
flush() |
Отбрасывает начальную позицию потока до текущей позиции потока. |
void |
flushBefore |
Отбрасывает начальную часть потока до указанной позиции. |
int |
getBitOffset() |
Возвращает текущий битовый смещение, как целое число от 0 до 7 включительно. |
ByteOrder |
getByteOrder() |
Возвращает порядок байт, с которым значения данных будут читаться из этого потока как экземпляр перечисления java.nio.ByteOrder. |
long |
getFlushedPosition() |
Возвращает самую раннюю позицию в потоке, до которой может быть выполнено позиционирование. |
long |
getStreamPosition() |
Возвращает текущую байтовую позицию потока. |
boolean |
isCached() |
В реализации по умолчанию возвращается false. |
boolean |
isCachedFile() |
В реализации по умолчанию возвращается false. |
boolean |
isCachedMemory() |
В реализации по умолчанию возвращается false. |
long |
length() |
Возвращает -1L, чтобы указать, что длина потока неизвестна. |
void |
mark() |
Помещает текущую позицию потока в стек помеченных позиций. |
abstract int |
read() |
Считывает один байт из потока и возвращает его как целое число int от 0 до 255. |
int |
read |
Метод-обёртка, который вызывает read(b, 0, b.length). |
abstract int |
read |
Считывает до len байтов из потока и сохраняет их в b начиная с индекса off. |
int |
readBit() |
Считывает один бит из потока и возвращает его как целое число int со значением 0 или 1. |
long |
readBits |
Считывает битовую строку из потока и возвращает её как long, причём первый считанный бит становится старшим битом результата. |
boolean |
readBoolean() |
Считывает байт из потока и возвращает значение boolean равное true, если оно ненулевое, и false, если оно равно нулю. |
byte |
readByte() |
Считывает байт из потока и возвращает его как значение byte. |
void |
readBytes |
Считывает до 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() |
Считывает байт из потока, (по концепции) преобразует его в целое число, маскирует его с помощью 0xff, чтобы удалить любые биты расширения знака, и возвращает его как значение byte. |
long |
readUnsignedInt() |
Считывает 4 байта из потока и (по концепции) объединяет их в соответствии с текущим порядком байтов, преобразует результат в длинное целое число, маскирует его с помощью 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 определяет так называемый порядок байтов типа 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- если произошла ошибка ввода-вывода.
чтениеБезЗнаковогоБайта
public int readUnsignedByte() throws IOException
ImageInputStream0xff для удаления любых битов расширения знака и возвращает его как значение byte. Таким образом, значения байтов между 0x00 и 0x7f просто возвращаются в виде целочисленных значений между 0 и 127. Значения между 0x80 и 0xff, которые обычно представляют отрицательные byte значения, будут отображаться в положительные целые числа между 128 и 255.
Битовый сдвиг в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readUnsignedByteв интерфейсеDataInput - Определено в:
-
readUnsignedByteв интерфейсеImageInputStream - Возвращает:
- беззнаковое значение байта из потока.
- Выбрасывает:
-
EOFException- если достигнут конец потока. -
IOException- если произошла ошибка ввода-вывода.
чтениеКороткого
public short readShort() throws IOException
ImageInputStreamshort. Битовый сдвиг в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readShortв интерфейсеDataInput - Определено в:
-
readShortв интерфейсеImageInputStream - Возвращает:
- знаковое значение короткого типа из потока.
- Выбрасывает:
-
EOFException- если поток достигнет конца перед чтением всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
чтениеБезЗнаковогоКороткого
public int readUnsignedShort() throws IOException
ImageInputStreamint, маскирует его с помощью 0xffff для удаления любых битов расширения знака и возвращает результат как беззнаковое значение int. Битовый сдвиг в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readUnsignedShortв интерфейсеDataInput - Определено в:
-
readUnsignedShortв интерфейсеImageInputStream - Возвращает:
- беззнаковое значение короткого типа из потока в виде int.
- Выбрасывает:
-
EOFException- если поток достигнет конца перед чтением всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
чтениеСимвола
public char readChar() throws IOException
ImageInputStreamreadUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char. Битовый сдвиг в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readCharв интерфейсеDataInput - Определено в:
-
readCharв интерфейсеImageInputStream - Возвращает:
- беззнаковое значение символа из потока.
- Выбрасывает:
-
EOFException- если поток достигнет конца перед чтением всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
чтениеЦелого
public int readInt() throws IOException
ImageInputStreamint. Битовый сдвиг в потоке игнорируется и обрабатывается как ноль.
- Определено в:
-
readIntв интерфейсеDataInput - Определено в:
-
readIntв интерфейсеImageInputStream - Возвращает:
- знаковое значение целого типа из потока.
- Выбрасывает:
-
EOFException- если поток достигнет конца перед чтением всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
чтениеБезЗнаковогоЦелого
public long readUnsignedInt() throws IOException
ImageInputStream0xffffffffL для удаления любых битов расширения знака и возвращает результат как беззнаковое значение long. Битовый сдвиг в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readUnsignedIntв интерфейсеImageInputStream - Возвращает:
- беззнаковое значение целого типа из потока как long.
- Выбрасывает:
-
EOFException- если поток достигнет конца перед чтением всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
чтениеДлинного
public long readLong() throws IOException
ImageInputStreamlong. Битовый сдвиг в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readLongв интерфейсеDataInput - Определено в:
-
readLongв интерфейсеImageInputStream - Возвращает:
- знаковое значение длинного типа из потока.
- Выбрасывает:
-
EOFException- если поток достигнет конца перед чтением всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
чтениеВещественного
public float readFloat() throws IOException
ImageInputStreamfloat. Битовый сдвиг в потоке сбрасывается в ноль перед чтением.
- Определено в:
-
readFloatв интерфейсеDataInput - Определено в:
-
readFloatв интерфейсеImageInputStream - Возвращает:
- вещественное значение из потока.
- Выбрасывает:
-
EOFException- если поток достигнет конца перед чтением всех байтов. -
IOException- если произошла ошибка ввода-вывода. - См. также:
чтениеДвойного
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 заключается в том, что он считывает представление строки символов Юникода, закодированной в формате измененного 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- количество байтов для перемещения вперёд. - Возвращает:
- представляющее количество пропущенных байтов
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 вызывается для закрытия любого открытого источника ввода. Этот метод не должен вызываться из кода приложения.- Переопределяет:
-
finalizeв классеObject - Исключения:
-
Throwable- если произошла ошибка при финализации суперкласса. - См. также:
© 1993, 2023, 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/21/docs/api/java.desktop/javax/imageio/stream/ImageInputStreamImpl.html