Spec-Zone.ru › OpenJDK 25

Класс 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, поэтому этот класс нельзя использовать для операций чтения/изменения/записи. Чтение возможно только в тех частях потока, которые уже записаны в кэш и ещё не сброшены.

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

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

Методы, объявленные в классе 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, seek, 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, 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. Если достигнут конец файла, возвращается -1.

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

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

Указан в:
read в интерфейсе ImageInputStream
Указан в:
read в классе ImageInputStreamImpl
Возвращает:
значение следующего байта в потоке или -1, если достигнут конец файла.
Исключения:
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, указывающее на конец файла.
Исключения:
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 — если произошла ошибка ввода-вывода.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/MemoryCacheImageOutputStream.html

Spec-Zone.ru

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