Spec-Zone.ru › OpenJDK 24

Класс 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. Файл используется для кэширования данных до момента их записи в поток вывода.

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

Поля, объявленные в классе javax.imageio.stream.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)
Записывает один байт в поток по текущей позиции.

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

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

Битовый сдвиг в потоке должен быть сброшен в ноль перед чтением.

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

read

public int read(byte[] b, int off, int len) throws IOException
Описание, скопированное из класса: ImageInputStreamImpl
Считывает до len байт из потока и сохраняет их в b, начиная с индекса off. Если из-за достижения конца потока (EOF) байты прочитать невозможно, возвращается -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 - если произошла ошибка ввода/вывода.

© 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

Spec-Zone.ru

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