Класс 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) Конструирует |
Краткое описание методов
| Модификатор и тип | Метод и описание |
|---|---|
void |
close() Закрывает этот |
void |
flushBefore(long pos) Удаляет начальную часть потока перед указанной позицией. |
boolean |
isCached() Возвращает |
boolean |
isCachedFile() Возвращает |
boolean |
isCachedMemory() Возвращает |
long |
length() Возвращает |
int |
read() Читает один байт из потока и возвращает его как |
int |
read(byte[] b,
int off,
int len) Читает до |
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, 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если достигнут конец потока (EOF). - Исключения:
-
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для обозначения EOF. - Исключения:
-
IOException- если произошла ошибка ввода/вывода.
write
public void write(int b)
throws IOException Описание скопировано из интерфейса: ImageOutputStream
Записывает один байт в поток в текущей позиции. 24 старших бита b игнорируются.
Если битовый сдвиг в потоке отличен от нуля, остаток текущего байта заполняется нулями и записывается сначала. Битовый сдвиг будет 0 после записи. Реализаторы могут использовать метод flushBits класса ImageOutputStreamImpl для гарантии этого.
- Определено в:
-
writeв интерфейсеDataOutput - Определено в:
-
writeв интерфейсеImageOutputStream - Определено в:
-
writeв классеImageOutputStreamImpl - Параметры:
-
b- целое число, нижние 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 для гарантии этого.
- Определено в:
-
writeв интерфейсеDataOutput - Определено в:
-
writeв интерфейсеImageOutputStream - Определено в:
-
writeв классеImageOutputStreamImpl - Параметры:
-
b- массив байтов, которые будут записаны. -
off- начальный смещение в данных. -
len- количество байтов для записи. - Исключения:
-
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 не закрывается.
- Определено в:
-
closeв интерфейсеCloseable - Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеImageInputStream - Переопределено в:
-
closeв классеImageInputStreamImpl - Исключения:
-
IOException- если произошла ошибка ввода/вывода.
flushBefore
public void flushBefore(long pos)
throws IOException Описание скопировано из интерфейса: ImageInputStream
Удаляет начальную часть потока перед указанной позицией. Попытка перейти к смещению внутри удалённой части потока приведёт к IndexOutOfBoundsException.
Вызов flushBefore может позволить классам, реализующим этот интерфейс, освободить ресурсы, такие как память или дисковое пространство, используемые для хранения данных из потока.
- Определено в:
-
flushBeforeв интерфейсеImageInputStream - Определено в:
-
flushBeforeв интерфейсеImageOutputStream - Переопределено в:
-
flushBeforeв классеImageInputStreamImpl - Параметры:
-
pos- значение, содержащее длину префикса потока, который может быть удалён. - Исключения:
-
IOException- если произошла ошибка ввода/вывода.
© 1993, 2020, 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.