Spec-Zone.ru › OpenJDK 27

Класс FileCacheImageInputStream

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.FileCacheImageInputStream
Все реализуемые интерфейсы:
Closeable, DataInput, AutoCloseable, ImageInputStream
public class FileCacheImageInputStream extends ImageInputStreamImpl
Реализация ImageInputStream, получающая входные данные из обычного InputStream. Для кэширования ранее прочитанных данных используется файл.

Краткое описание полей

Поля, объявленные в классе ImageInputStreamImpl

bitOffset, byteOrder, flushedPos, streamPos
Модификатор и тип Поле Описание
protected int bitOffset
Текущее смещение в битах внутри потока.
protected ByteOrder byteOrder
Порядок байтов потока в виде экземпляра класса перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN обозначает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN — обратный порядок.
protected long flushedPos
Позиция, до которой данные можно отбросить.
protected long streamPos
Текущая позиция чтения внутри потока.

Краткое описание конструкторов

Конструктор Описание
FileCacheImageInputStream(InputStream stream, File cacheDir)
Создает FileCacheImageInputStream, который будет читать данные из заданного InputStream.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Закрывает этот FileCacheImageInputStream, закрывая и удаляя файл кэша.
boolean isCached()
Возвращает true, поскольку этот ImageInputStream кэширует данные, чтобы разрешить перемещение назад по потоку.
boolean isCachedFile()
Возвращает true, поскольку этот ImageInputStream поддерживает файловый кэш.
boolean isCachedMemory()
Возвращает false, поскольку этот ImageInputStream не поддерживает кэш в основной памяти.
int read()
Читает из потока один байт и возвращает его как int в диапазоне от 0 до 255.
int read(byte[] b, int off, int len)
Читает из потока не более len байт и сохраняет их в b, начиная с индекса off.

Методы, объявленные в классе ImageInputStreamImpl

checkClosed, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, length, mark, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, seek, setBitOffset, setByteOrder, skipBytes, skipBytes
Модификатор и тип Метод Описание
protected final void checkClosed()
Выбрасывает IOException, если поток закрыт.
void flush()
Отбрасывает начальную позицию потока, предшествующую текущей позиции потока.
void flushBefore(long pos)
Отбрасывает начальную часть потока, предшествующую указанной позиции.
int getBitOffset()
Возвращает текущее смещение в битах в виде целого числа от 0 до 7 включительно.
ByteOrder getByteOrder()
Возвращает порядок байтов, в котором значения данных будут считываться из этого потока, в виде экземпляра перечисления java.nio.ByteOrder.
long getFlushedPosition()
Возвращает наименьшую позицию в потоке, на которую можно переместиться.
long getStreamPosition()
Возвращает текущую позицию потока в байтах.
long length()
Возвращает -1L, чтобы указать, что длина потока неизвестна.
void mark()
Помещает текущую позицию потока в стек отмеченных позиций.
int read(byte[] b)
Вспомогательный метод, вызывающий read(b, 0, b.length).
int readBit()
Считывает из потока один бит и возвращает его как int со значением 0 или 1.
long readBits(int numBits)
Считывает из потока битовую строку и возвращает ее как long; первый считанный бит становится старшим битом результата.
boolean readBoolean()
Считывает байт из потока и возвращает значение boolean: true, если оно не равно нулю, и false, если оно равно нулю.
byte readByte()
Считывает байт из потока и возвращает его как значение byte.
void readBytes(IIOByteBuffer buf, int len)
Считывает из потока не более len байт и изменяет переданный IIOByteBuffer, указывая байтовый массив, смещение и длину, по которым можно найти данные.
char readChar()
Эквивалентен readUnsignedShort, но результат возвращается с использованием типа данных char.
double readDouble()
Считывает из потока 8 байт, концептуально объединяет их с учетом текущего порядка байтов и возвращает результат как double.
float readFloat()
Считывает из потока 4 байта, концептуально объединяет их с учетом текущего порядка байтов и возвращает результат как float.
void readFully(byte[] b)
Считывает из потока b.length байт и сохраняет их в b, начиная с индекса 0.
void readFully(byte[] b, int off, int len)
Считывает из потока len байт и сохраняет их в b, начиная с индекса off.
void readFully(char[] c, int off, int len)
Считывает из потока len символов (беззнаковых 16-битных целых чисел) с учетом текущего порядка байтов и сохраняет их в c, начиная с индекса off.
void readFully(double[] d, int off, int len)
Считывает из потока len значений типа double (64-битных чисел с плавающей точкой двойной точности IEEE) с учетом текущего порядка байтов и сохраняет их в d, начиная с индекса off.
void readFully(float[] f, int off, int len)
Считывает из потока len значений типа float (32-битных чисел с плавающей точкой одинарной точности IEEE) с учетом текущего порядка байтов и сохраняет их в f, начиная с индекса off.
void readFully(int[] i, int off, int len)
Считывает из потока len значений типа int (знаковых 32-битных целых чисел) с учетом текущего порядка байтов и сохраняет их в i, начиная с индекса off.
void readFully(long[] l, int off, int len)
Считывает из потока len значений типа long (знаковых 64-битных целых чисел) с учетом текущего порядка байтов и сохраняет их в l, начиная с индекса off.
void readFully(short[] s, int off, int len)
Считывает из потока 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(long pos)
Устанавливает текущую позицию потока в заданное место.
void setBitOffset(int bitOffset)
Устанавливает смещение в битах в целое число от 0 до 7 включительно.
void setByteOrder(ByteOrder byteOrder)
Задает порядок байтов для последующего чтения значений данных из этого потока.
int skipBytes(int n)
Перемещает текущую позицию потока вперед, вызывая seek(getStreamPosition() + n).
long skipBytes(long n)
Перемещает текущую позицию потока вперед, вызывая seek(getStreamPosition() + n).

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

FileCacheImageInputStream

public FileCacheImageInputStream(InputStream stream, File cacheDir) throws IOException
Создает FileCacheImageInputStream, который будет читать данные из заданного InputStream.

В качестве кэша используется временный файл. Если cacheDir не равен null и является каталогом, файл будет создан в нем. Если null, будет использоваться системный каталог временных файлов по умолчанию (подробности см. в документации к File.createTempFile).

Параметры:
stream — InputStream, из которого выполняется чтение.
cacheDir — File, указывающий, где следует создать файл кэша, или null для использования системного каталога.
Исключения:
IllegalArgumentException — если stream равно null.
IllegalArgumentException — если cacheDir не равно null, но не является каталогом.
IOException — если не удается создать файл кэша.

Подробное описание методов

read

public int read() throws IOException
Описание скопировано из класса: ImageInputStreamImpl
Читает из потока один байт и возвращает его как int в диапазоне от 0 до 255. При достижении конца потока возвращается -1.

Подклассы должны предоставлять реализацию этого метода. Реализация подкласса должна обновлять позицию потока перед завершением работы.

Перед чтением смещение в битах внутри потока должно быть сброшено в ноль.

Определено в:
read в интерфейсе ImageInputStream
Определено в:
read в классе ImageInputStreamImpl
Возвращает:
значение следующего байта в потоке или -1 при достижении конца потока.
Исключения:
IOException — если поток закрыт.

read

public int read(byte[] b, int off, int len) throws IOException
Описание скопировано из класса: ImageInputStreamImpl
Читает из потока не более len байт и сохраняет их в b, начиная с индекса off. Если ни одного байта не удалось прочитать из-за достижения конца потока, возвращается -1.

Перед чтением смещение в битах внутри потока должно быть сброшено в ноль.

Подклассы должны предоставлять реализацию этого метода. Реализация подкласса должна обновлять позицию потока перед завершением работы.

Определено в:
read в интерфейсе ImageInputStream
Определено в:
read в классе ImageInputStreamImpl
Параметры:
b — массив байтов для записи.
off — начальная позиция для записи в b.
len — максимальное число байтов для чтения.
Возвращает:
число фактически прочитанных байтов или -1, обозначающее конец потока.
Исключения:
IOException — если произошла ошибка ввода-вывода.

isCached

public boolean isCached()
Возвращает true, поскольку этот ImageInputStream кэширует данные, чтобы разрешить перемещение назад по потоку.
Определено в:
isCached в интерфейсе ImageInputStream
Переопределяет:
isCached в классе ImageInputStreamImpl
Возвращает:
true.
См. также:
  • isCachedMemory()
  • isCachedFile()

isCachedFile

public boolean isCachedFile()
Возвращает true, поскольку этот ImageInputStream поддерживает файловый кэш.
Определено в:
isCachedFile в интерфейсе ImageInputStream
Переопределяет:
isCachedFile в классе ImageInputStreamImpl
Возвращает:
true.
См. также:
  • isCached()
  • isCachedMemory()

isCachedMemory

public boolean isCachedMemory()
Возвращает false, поскольку этот ImageInputStream не поддерживает кэш в основной памяти.
Определено в:
isCachedMemory в интерфейсе ImageInputStream
Переопределяет:
isCachedMemory в классе ImageInputStreamImpl
Возвращает:
false.
См. также:
  • isCached()
  • isCachedFile()

close

public void close() throws IOException
Закрывает этот FileCacheImageInputStream, закрывая и удаляя файл кэша. Исходный InputStream не закрывается.
Исключения:
IOException — если произошла ошибка.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API