Класс 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, flushBefore, 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. Если байты не могут быть прочитаны из-за достижения конца потока, возвращается -1. Смещение бита в потоке должно быть сброшено в ноль до чтения.
Подклассы должны предоставить реализацию для этого метода. Реализация подкласса должна обновить позицию потока перед завершением.
- Определено в:
-
readв интерфейсеImageInputStream - Определено в:
-
readв классеImageInputStreamImpl - Параметры:
-
b- массив байтов, которые будут записаны. -
off- начальная позиция вbдля записи. -
len- максимальное количество байтов для чтения. - Возвращает:
- количество фактически прочитанных байтов или
-1для обозначения конца потока. - Исключения:
-
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
ImageOutputStreamOutputStream или File. Попытка перейти к сброшенной части потока приведёт к IndexOutOfBoundsException.- Параметры:
-
pos-long, содержащий длину префикса потока, который может быть сброшен в пункт назначения. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
© 1993, 2023, 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/21/docs/api/java.desktop/javax/imageio/stream/MemoryCacheImageOutputStream.html