Класс FileCacheImageInputStream
- Все реализуемые интерфейсы:
-
Closeable,DataInput,AutoCloseable,ImageInputStream
public class FileCacheImageInputStream extends ImageInputStreamImpl
ImageInputStream, получающая входные данные из обычного InputStream. Файл используется для кэширования ранее прочитанных данных.Краткое описание полей
Поля, объявленные в классе javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
FileCacheImageInputStream |
Создает экземпляр FileCacheImageInputStream, который будет читать из заданного InputStream. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот FileCacheImageInputStream, закрывая и удаляя кэшированный файл. |
protected void |
finalize() |
Устарел. |
boolean |
isCached() |
Возвращает true, так как этот ImageInputStream кэширует данные, чтобы разрешить обратный поиск. |
boolean |
isCachedFile() |
Возвращает true, так как этот ImageInputStream поддерживает кэш в файле. |
boolean |
isCachedMemory() |
Возвращает false, так как этот ImageInputStream не поддерживает кэш в оперативной памяти. |
int |
read() |
Читает один байт из потока и возвращает его как int между 0 и 255. |
int |
read |
Читает до len байт из потока и сохраняет их в b начиная с индекса off. |
Методы, объявленные в классе javax.imageio.stream.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
Подробное описание конструкторов
FileCacheImageInputStream
public FileCacheImageInputStream(InputStream stream, File cacheDir) throws IOException
FileCacheImageInputStream, который будет читать из заданного InputStream. В качестве кэша используется временный файл. Если cacheDir не пусто и является каталогом, файл будет создан там. Если это null, будет использован системный временный каталог (см. документацию для File.createTempFile для подробностей).
- Параметры:
-
stream- поток для чтения. -
cacheDir- файл, указывающий, где должен быть создан кэшированный файл, илиnullдля использования системного каталога. - Исключения:
-
IllegalArgumentException- еслиstreamnull. -
IllegalArgumentException- еслиcacheDirне пусто, но не является каталогом. -
IOException- если кэшированный файл не может быть создан.
Подробное описание методов
read
public int read() throws IOException
ImageInputStreamImpl-1. Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновлять позицию потока перед завершением.
Смещение бита в потоке должно быть сброшено в ноль перед чтением.
- Указано в:
-
readв интерфейсеImageInputStream - Указано в:
-
readв классеImageInputStreamImpl - Возвращает:
- значение следующего байта в потоке, или
-1в случае достижения конца потока. - Исключения:
-
IOException- если поток закрыт.
read
public int read(byte[] b, int off, int len) throws IOException
ImageInputStreamImpllen байтов из потока и сохраняет их в b начиная с индекса off. Если из-за достижения конца потока (EOF) байты не могут быть считаны, возвращается -1. Смещение бита в потоке должно быть сброшено в ноль перед чтением.
Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновить позицию потока перед завершением.
- Указано в:
-
readв интерфейсеImageInputStream - Указано в:
-
readв классеImageInputStreamImpl - Параметры:
-
b- массив байтов, в который будут записаны байты. -
off- начальная позиция вbдля записи. -
len- максимальное количество байтов для чтения. - Возвращает:
- количество фактически считаных байтов или
-1для обозначения EOF. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
isCached
public boolean isCached()
true, так как этот ImageInputStream кэширует данные, чтобы разрешить обратное позиционирование.- Указано в:
-
isCachedв интерфейсеImageInputStream - Переопределяет:
-
isCachedв классеImageInputStreamImpl - Возвращает:
-
true. - См. также:
isCachedFile
public boolean isCachedFile()
true, так как этот ImageInputStream поддерживает кэш файла.- Указано в:
-
isCachedFileв интерфейсеImageInputStream - Переопределяет:
-
isCachedFileв классеImageInputStreamImpl - Возвращает:
-
true. - См. также:
isCachedMemory
public boolean isCachedMemory()
false, так как этот ImageInputStream не поддерживает кэш в основной памяти.- Указано в:
-
isCachedMemoryв интерфейсеImageInputStream - Переопределяет:
-
isCachedMemoryв классеImageInputStreamImpl - Возвращает:
-
false. - См. также:
close
public void close() throws IOException
FileCacheImageInputStream, закрывая и удаляя кэшированный файл. Исходный InputStream не закрывается.- Исключения:
-
IOException- если произошла ошибка.
finalize
@Deprecated(since="9") protected void finalize() throws Throwable
finalize устарел. Подклассы, переопределяющие finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удаления переопределённого метода finalize. При переопределении метода finalize, его реализация должна явно обеспечить вызов super.finalize() так, как описано в Object.finalize(). Смотрите спецификацию для Object.finalize() для получения дополнительной информации о вариантах миграции.close вызывается для закрытия любого открытого входного потока. Этот метод не должен вызываться кодом приложения.- Переопределяет:
-
finalizeв классеImageInputStreamImpl - Исключения:
-
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/FileCacheImageInputStream.html
finalizeустарел.