Класс FileCacheImageOutputStream
- Все реализованные интерфейсы:
Closeable, DataInput, DataOutput, AutoCloseable, ImageInputStream, ImageOutputStream
public class FileCacheImageOutputStream extends ImageOutputStreamImpl
ImageOutputStream, записывающая вывод в обычный OutputStream. Файл используется для кэширования данных до их сброса в выходной поток.Краткое описание полей
Поля, объявленные в классе 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 |
Записывает один байт в поток в текущей позиции. |
Методы, объявленные в классе ImageOutputStreamImpl
flushBits, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF
Методы, объявленные в классе 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
Методы, объявленные в классе Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе 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— еслиstreamравноnull. -
IllegalArgumentException— еслиcacheDirне равноnull, но не является каталогом. -
IOException— если не удается создать файл кэша.
Подробное описание методов
read
public int read() throws IOException
ImageInputStreamImplint в диапазоне от 0 до 255. Если достигнут конец файла (EOF), возвращается -1. Подклассы должны предоставить реализацию этого метода. Реализация подкласса должна обновить позицию в потоке перед завершением.
Перед чтением битовое смещение внутри потока должно быть сброшено в ноль.
- Определено в:
-
readв интерфейсеImageInputStream - Определено в:
-
readв классеImageInputStreamImpl - Возвращает:
- значение следующего байта в потоке или
-1, если достигнут конец файла (EOF). - Исключения:
-
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, обозначающее конец файла (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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/imageio/stream/FileCacheImageOutputStream.html