Класс MemoryCacheImageOutputStream
- Все реализованные интерфейсы:
-
Closeable,DataInput,DataOutput,AutoCloseable,ImageInputStream,ImageOutputStream
public class MemoryCacheImageOutputStream extends ImageOutputStreamImpl
ImageOutputStream, записывающего вывод в обычный OutputStream. Буфер памяти используется для кэширования данных, по крайней мере, между позицией удаления и текущей позицией записи. Конструктор принимает только OutputStream, поэтому этот класс нельзя использовать для операций чтения/модификации/записи. Чтение возможно только для частей потока, которые уже были записаны в кэш и еще не были сброшены.Краткое описание полей
Поля, объявленные в классе javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
MemoryCacheImageOutputStream |
Создает MemoryCacheImageOutputStream, который будет записывать в заданный OutputStream. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот MemoryCacheImageOutputStream. |
void |
flushBefore |
Очищает все данные перед заданной позицией в целевом источнике, например, в OutputStream или File. |
boolean |
isCached() |
Возвращает значение true, так как этот ImageOutputStream кэширует данные, чтобы разрешить обратный поиск. |
boolean |
isCachedFile() |
Возвращает false, так как этот ImageOutputStream не поддерживает кэширование файлов. |
boolean |
isCachedMemory() |
Возвращает true, так как этот ImageOutputStream поддерживает кэш в оперативной памяти. |
long |
length() |
Возвращает -1L, чтобы указать, что длина потока неизвестна. |
int |
read() |
Читает один байт из потока и возвращает его как int в диапазоне от 0 до 255. |
int |
read |
Читает до len байт из потока и сохраняет их в b, начиная с индекса off. |
void |
write |
Записывает последовательность байтов в поток по текущей позиции. |
void |
write |
Записывает один байт в поток по текущей позиции. |
Методы, объявленные в классе 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
ImageInputStreamImplint от 0 до 255. Если достигнут конец файла (EOF), возвращается -1. Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновить позицию потока перед завершением работы.
Смещение бита в потоке должно быть сброшено до нуля перед чтением.
- Определено в:
-
readв интерфейсеImageInputStream - Определено в:
-
readв классеImageInputStreamImpl - Возвращает:
- значение следующего байта в потоке, или
-1, если достигнут конец файла. - Исключения:
-
IOException- если поток закрыт.
read
public int read(byte[] b, int off, int len) throws IOException
ImageInputStreamImpllen байтов из потока и сохраняет их в b, начиная с индекса off. Если байты не могут быть прочитаны из-за достижения конца потока (EOF), возвращается -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, чтобы указать неизвестный размер.
isCached
public boolean isCached()
true, так как этот ImageOutputStream кэширует данные, чтобы позволить обратное перемещение.- Определено в:
-
isCachedв интерфейсеImageInputStream - Переопределяет:
-
isCachedв классеImageInputStreamImpl - Возвращает:
-
true. - См. также:
isCachedFile
public boolean isCachedFile()
false, так как этот ImageOutputStream не поддерживает кэширование файлов.- Определено в:
-
isCachedFileв интерфейсеImageInputStream - Переопределяет:
-
isCachedFileв классеImageInputStreamImpl - Возвращает:
-
false. - См. также:
isCachedMemory
public boolean isCachedMemory()
true, так как этот ImageOutputStream поддерживает кэш в основной памяти.- Определено в:
-
isCachedMemoryв интерфейсеImageInputStream - Переопределяет:
-
isCachedMemoryв классеImageInputStreamImpl - Возвращает:
-
true. - См. также:
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