Класс 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 и является каталогом, файл будет создан в нём. Если null, будет использован системный каталог временных файлов по умолчанию (см. документацию по File.createTempFile для подробностей).
- Параметры:
-
stream-OutputStreamдля записи. -
cacheDir-Fileдля указания, где должен быть создан файл кэша, илиnullдля использования системного каталога. - Исключения:
-
IllegalArgumentException- еслиstreamnull. -
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. Если байты не могут быть прочитаны из-за достижения конца потока, возвращается -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, 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/FileCacheImageOutputStream.html