Класс FileCacheImageOutputStream
- Все реализованные интерфейсы:
-
Closeable,DataInput,DataOutput,AutoCloseable,ImageInputStream,ImageOutputStream
public class FileCacheImageOutputStream extends ImageOutputStreamImpl
ImageOutputStream, который записывает выходные данные в обычный OutputStream. Файл используется для кэширования данных до момента их записи в поток вывода.Краткое описание полей
Поля, объявленные в классе javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
FileCacheImageOutputStream |
Создаёт FileCacheImageOutputStream, который будет записывать в заданный outputStream. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот FileCacheImageOutputStream. |
void |
flushBefore |
Очищает все данные до заданной позиции в базовом источнике, таком как OutputStream или File. |
boolean |
isCached() |
Возвращает true, так как этот ImageOutputStream кэширует данные для возможности обратного поиска. |
boolean |
isCachedFile() |
Возвращает true, так как этот ImageOutputStream поддерживает кэш файла. |
boolean |
isCachedMemory() |
Возвращает false, так как этот ImageOutputStream не поддерживает кэш в оперативной памяти. |
long |
length() |
Возвращает -1L, чтобы указать, что длина потока неизвестна. |
int |
read() |
Считывает один байт из потока и возвращает его как int от 0 до 255. |
int |
read |
Считывает до len байт из потока и сохраняет их в b начиная с индекса off. |
void |
seek |
Устанавливает текущую позицию потока и сбрасывает смещение бита в 0. |
void |
write |
Записывает последовательность байтов в поток по текущей позиции. |
void |
write |
Записывает один байт в поток по текущей позиции. |
Методы, объявленные в классе javax.imageio.stream.ImageOutputStreamImpl
flushBits, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF
Методы, объявленные в классе javax.imageio.stream.ImageInputStreamImpl
checkClosed, finalize, flush, 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, setBitOffset, setByteOrder, skipBytes, skipBytes
Методы, объявленные в классе java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе javax.imageio.stream.ImageInputStream
flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, 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, setBitOffset, setByteOrder, skipBytes, skipBytes
Подробное описание конструкторов
FileCacheImageOutputStream
public FileCacheImageOutputStream(OutputStream stream, File cacheDir) throws IOException
FileCacheImageOutputStream, который будет записывать в указанный outputStream. В качестве кэша используется временный файл. Если cacheDir не null и является каталогом, файл будет создан в нём. В противном случае будет использован системный каталог временных файлов (см. документацию по File.createTempFile для подробностей).
- Параметры:
-
stream-OutputStreamдля записи. -
cacheDir-File, указывающий, где должен быть создан файл кэша, илиnullдля использования системного каталога. - Исключения:
-
IllegalArgumentException- еслиstreamявляетсяnull. -
IllegalArgumentException- еслиcacheDirнеnull, но не является каталогом. -
IOException- если файл кэша создать не удаётся.
Подробное описание методов
read
public int read() throws IOException
ImageInputStreamImplint от 0 до 255. Если достигнут конец потока (EOF), возвращается -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- если произошла ошибка ввода/вывода.
write
public void write(int b) throws IOException
ImageOutputStreamb игнорируются. Если битовый сдвиг в потоке не равен нулю, остаток текущего байта заполняется нулями и записывается сначала. Битовый сдвиг будет равен 0 после записи. Реализаторы могут использовать метод flushBits класса ImageOutputStreamImpl для гарантирования этого.
- Параметры:
-
b-int, чьи младшие 8 бит должны быть записаны. - Исключения:
-
IOException- если произошла ошибка ввода/вывода.
write
public void write(byte[] b, int off, int len) throws IOException
ImageOutputStreamlen равен 0, ничего не записывается. Байты b[off] записывается сначала, затем байт b[off + 1] и так далее. Если битовый сдвиг в потоке не равен нулю, остаток текущего байта заполняется нулями и записывается сначала. Битовый сдвиг будет равен 0 после записи. Реализаторы могут использовать метод flushBits класса ImageOutputStreamImpl для гарантирования этого.
- Параметры:
-
b- массивbyteдля записи. -
off- начальный смещение в данных. -
len- количествоbyteдля записи. - Исключения:
-
IOException- если произошла ошибка ввода/вывода.
length
public long length()
ImageInputStreamImpl-1L, чтобы указать, что длина потока неизвестна. Подклассы должны переопределить этот метод, чтобы предоставить информацию о фактической длине.- Определено в:
-
lengthв интерфейсеImageInputStream - Переопределяет:
-
lengthв классеImageInputStreamImpl - Возвращает:
- -1L, чтобы указать неизвестную длину.
seek
public void seek(long pos) throws IOException
EOFException будет вызвано только при выполнении чтения. Длина файла не увеличится до выполнения записи.- Параметры:
-
pos-long, содержащий желаемую позицию указателя файла. - Исключения:
-
IndexOutOfBoundsException- еслиposменьше сброшенной позиции. -
IOException- если произошла любая другая ошибка ввода/вывода.
isCached
public boolean isCached()
true, так как этот ImageOutputStream кэширует данные, чтобы разрешить обратное перемещение.- Определено в:
-
isCachedв интерфейсеImageInputStream - Переопределяет:
-
isCachedв классеImageInputStreamImpl - Возвращает:
-
true. - См. также:
isCachedFile
public boolean isCachedFile()
true, так как этот ImageOutputStream поддерживает кэш файлов.- Определено в:
-
isCachedFileв интерфейсеImageInputStream - Переопределяет:
-
isCachedFileв классеImageInputStreamImpl - Возвращает:
-
true. - См. также:
isCachedMemory
public boolean isCachedMemory()
false, так как этот ImageOutputStream не поддерживает кэш в оперативной памяти.- Определено в:
-
isCachedMemoryв интерфейсеImageInputStream - Переопределяет:
-
isCachedMemoryв классеImageInputStreamImpl - Возвращает:
-
false. - См. также:
close
public void close() throws IOException
FileCacheImageOutputStream. Все ожидаемые данные сбрасываются в выходной поток, файл кэша закрывается и удаляется. Целевой OutputStream не закрывается.- Исключения:
-
IOException- если произошла ошибка.
flushBefore
public void flushBefore(long pos) throws IOException
OutputStream или File. Попытка перемещения к сброшенной части потока приведёт к исключению IndexOutOfBoundsException.- Параметры:
-
pos-long, содержащий длину префикса потока, который может быть сброшен в целевой поток. - Исключения:
-
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/stream/FileCacheImageOutputStream.html