Spec-Zone.ru › OpenJDK 25

Класс FileCacheImageOutputStream

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
javax.imageio.stream.FileCacheImageOutputStream
Все реализованные интерфейсы:
Closeable, DataInput, DataOutput, AutoCloseable, ImageInputStream, ImageOutputStream
public class FileCacheImageOutputStream extends ImageOutputStreamImpl
Реализация ImageOutputStream, записывающая вывод в обычный OutputStream. Файл используется для кэширования данных до их сброса в выходной поток.

Краткое описание полей

Поля, объявленные в классе ImageInputStreamImpl

bitOffset, byteOrder, flushedPos, streamPos

Краткое описание конструкторов

Конструктор Описание
FileCacheImageOutputStream(OutputStream stream, File cacheDir)
Создает FileCacheImageOutputStream, который будет записывать данные в указанный outputStream.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Закрывает этот FileCacheImageOutputStream.
void flushBefore(long pos)
Сбрасывает все данные до указанной позиции в базовое место назначения, например в OutputStream или File.
boolean isCached()
Возвращает true, поскольку этот ImageOutputStream кэширует данные, чтобы разрешить перемещение назад.
boolean isCachedFile()
Возвращает true, поскольку этот ImageOutputStream использует файловый кэш.
boolean isCachedMemory()
Возвращает false, поскольку этот ImageOutputStream не использует кэш в основной памяти.
long length()
Возвращает -1L, указывая, что длина потока неизвестна.
int read()
Читает из потока один байт и возвращает его как int в диапазоне от 0 до 255.
int read(byte[] b, int off, int len)
Читает из потока до len байт и сохраняет их в b, начиная с индекса off.
void seek(long pos)
Устанавливает текущую позицию в потоке и сбрасывает битовое смещение в 0.
void write(byte[] b, int off, int len)
Записывает последовательность байтов в поток в текущей позиции.
void write(int b)
Записывает один байт в поток в текущей позиции.

Методы, объявленные в классе 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
Описание скопировано из класса: ImageInputStreamImpl
Читает из потока один байт и возвращает его как int в диапазоне от 0 до 255. Если достигнут конец файла (EOF), возвращается -1.

Подклассы должны предоставить реализацию этого метода. Реализация подкласса должна обновить позицию в потоке перед завершением.

Перед чтением битовое смещение внутри потока должно быть сброшено в ноль.

Определено в:
read в интерфейсе ImageInputStream
Определено в:
read в классе ImageInputStreamImpl
Возвращает:
значение следующего байта в потоке или -1, если достигнут конец файла (EOF).
Исключения:
IOException — если поток закрыт.

read

public int read(byte[] b, int off, int len) throws IOException
Описание скопировано из класса: ImageInputStreamImpl
Читает из потока до len байт и сохраняет их в b, начиная с индекса off. Если ни одного байта нельзя прочитать, поскольку достигнут конец потока, возвращается -1.

Перед чтением битовое смещение внутри потока должно быть сброшено в ноль.

Подклассы должны предоставить реализацию этого метода. Реализация подкласса должна обновить позицию в потоке перед завершением.

Определено в:
read в интерфейсе ImageInputStream
Определено в:
read в классе ImageInputStreamImpl
Параметры:
b — массив байтов, в который выполняется запись.
off — начальная позиция в b, в которую выполняется запись.
len — максимальное число байтов для чтения.
Возвращает:
фактическое число прочитанных байтов или -1, обозначающее конец файла (EOF).
Исключения:
IOException — если произошла ошибка ввода-вывода.

write

public void write(int b) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает один байт в поток в текущей позиции. 24 старших бита значения b игнорируются.

Если битовое смещение в потоке не равно нулю, оставшаяся часть текущего байта сначала дополняется нулями и записывается. После записи битовое смещение будет равно 0. Реализаторы могут использовать метод flushBits класса ImageOutputStreamImpl, чтобы гарантировать это.

Параметры:
b — int, младшие 8 бит которого требуется записать.
Исключения:
IOException — если произошла ошибка ввода-вывода.

write

public void write(byte[] b, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает последовательность байтов в поток в текущей позиции. Если len равно 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
Устанавливает текущую позицию в потоке и сбрасывает битовое смещение в 0. Допускается перемещение за конец файла; EOFException будет выброшено только при выполнении чтения. Длина файла не увеличится, пока не будет выполнена запись.
Параметры:
pos — long, содержащее требуемую позицию указателя файла.
Исключения:
IndexOutOfBoundsException — если pos меньше позиции сброса.
IOException — если произошла другая ошибка ввода-вывода.

isCached

public boolean isCached()
Возвращает true, поскольку этот ImageOutputStream кэширует данные, чтобы разрешить перемещение назад.
Определено в:
isCached в интерфейсе ImageInputStream
Переопределено:
isCached в классе ImageInputStreamImpl
Возвращает:
true.
См. также:
  • isCachedMemory()
  • isCachedFile()

isCachedFile

public boolean isCachedFile()
Возвращает true, поскольку этот ImageOutputStream использует файловый кэш.
Определено в:
isCachedFile в интерфейсе ImageInputStream
Переопределено:
isCachedFile в классе ImageInputStreamImpl
Возвращает:
true.
См. также:
  • isCached()
  • isCachedMemory()

isCachedMemory

public boolean isCachedMemory()
Возвращает false, поскольку этот ImageOutputStream не использует кэш в основной памяти.
Определено в:
isCachedMemory в интерфейсе ImageInputStream
Переопределено:
isCachedMemory в классе ImageInputStreamImpl
Возвращает:
false.
См. также:
  • isCached()
  • isCachedFile()

close

public void close() throws IOException
Закрывает этот FileCacheImageOutputStream. Все ожидающие обработки данные сбрасываются в выходной поток, а файл кэша закрывается и удаляется. Поток назначения OutputStream не закрывается.
Исключения:
IOException — если произошла ошибка.

flushBefore

public void flushBefore(long pos) throws IOException
Сбрасывает все данные до указанной позиции в базовое место назначения, например в OutputStream или File. Попытка перемещения в сброшенную часть потока приведет к возникновению IndexOutOfBoundsException.
Параметры:
pos — long, содержащее длину начала потока, который можно сбросить в место назначения.
Исключения:
IOException — если произошла ошибка ввода-вывода.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API