Spec-Zone.ru › OpenJDK 24

Класс MemoryCacheImageOutputStream

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

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

Поля, объявленные в классе javax.imageio.stream.ImageInputStreamImpl

bitOffset, byteOrder, flushedPos, streamPos

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

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

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

Модификатор и тип Метод Описание
void close()
Закрывает этот MemoryCacheImageOutputStream.
void flushBefore(long pos)
Очищает все данные перед заданной позицией в целевом источнике, например, в OutputStream или File.
boolean isCached()
Возвращает значение true, так как этот ImageOutputStream кэширует данные, чтобы разрешить обратный поиск.
boolean isCachedFile()
Возвращает false, так как этот ImageOutputStream не поддерживает кэширование файлов.
boolean isCachedMemory()
Возвращает true, так как этот ImageOutputStream поддерживает кэш в оперативной памяти.
long length()
Возвращает -1L, чтобы указать, что длина потока неизвестна.
int read()
Читает один байт из потока и возвращает его как int в диапазоне от 0 до 255.
int read(byte[] b, int off, int len)
Читает до len байт из потока и сохраняет их в b, начиная с индекса off.
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, seek, 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, seek, setBitOffset, setByteOrder, skipBytes, skipBytes

Подробное описание конструкторов

MemoryCacheImageOutputStream

public MemoryCacheImageOutputStream(OutputStream stream)
Создаёт MemoryCacheImageOutputStream, который будет записывать данные в заданный OutputStream.
Параметры:
stream - OutputStream для записи.
Исключения:
IllegalArgumentException - если stream является null.

Подробное описание методов

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, чтобы указать неизвестный размер.

isCached

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

isCachedFile

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

isCachedMemory

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

close

public void close() throws IOException
Закрывает этот MemoryCacheImageOutputStream. Все ожидающие данные сбрасываются в выходной поток, и кэш освобождается. Целевой 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/MemoryCacheImageOutputStream.html

Spec-Zone.ru

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