Класс 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, 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, 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- еслиstreamnull. -
IllegalArgumentException- еслиcacheDirне пуст, но не является каталогом. -
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. Если байты не могут быть прочитаны из-за достижения конца потока, возвращается -1. Битовый смещение в потоке должно быть сброшено до нуля перед чтением.
Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновить позицию потока перед завершением.
- Определено в:
-
readв интерфейсеImageInputStream - Определено в:
-
readв классеImageInputStreamImpl - Параметры:
-
b- массив байт, которые будут записаны. -
off- начальная позиция вbдля записи. -
len- максимальное количество байт для чтения. - Возвращает:
- количество фактически прочитанных байт или
-1, чтобы указать конец потока. - Исключения:
-
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
ImageOutputStreamOutputStream или File. Попытка перейти к очищенной части потока приведет к исключению IndexOutOfBoundsException. - Параметры:
-
pos-long, содержащий длину префикса потока, который может быть очищен в назначении. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
© 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/FileCacheImageOutputStream.html