Spec-Zone.ru › OpenJDK 27

Класс FileCacheImageOutputStream

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

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

Поля, объявленные в классе ImageInputStreamImpl

bitOffset, byteOrder, flushedPos, streamPos
Модификатор и тип Поле Описание
protected int bitOffset
Текущая битовая позиция в потоке.
protected ByteOrder byteOrder
Порядок байтов потока в виде экземпляра перечисления java.nio.ByteOrder, где ByteOrder.BIG_ENDIAN обозначает сетевой порядок байтов, а ByteOrder.LITTLE_ENDIAN — обратный порядок.
protected long flushedPos
Позиция, до которой данные могут быть отброшены.
protected long streamPos
Текущая позиция чтения в потоке.

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

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

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

Модификатор и тип Метод Описание
void close()
Закрывает этот FileCacheImageOutputStream.
void flushBefore(long pos)
Сбрасывает все данные до указанной позиции в базовое место назначения, например в OutputStream или File.
boolean isCached()
Возвращает true, поскольку этот ImageOutputStream кэширует данные, чтобы разрешить перемещение назад.
boolean isCachedFile()
Возвращает true, поскольку этот ImageOutputStream поддерживает файловый кэш.
boolean isCachedMemory()
Возвращает false, поскольку этот ImageOutputStream не поддерживает кэш в основной памяти.
int read()
Считывает один байт из потока и возвращает его как int в диапазоне от 0 до 255.
int read(byte[] b, int off, int len)
Считывает из потока до len байт и сохраняет их в b, начиная с индекса off.
void seek(long pos)
Устанавливает текущую позицию в потоке и сбрасывает битовое смещение в 0.
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
Модификатор и тип Метод Описание
protected final void flushBits()
Если битовое смещение не равно нулю, устанавливает оставшиеся биты текущего байта в 0 и увеличивает позицию в потоке на единицу.
void write(byte[] b)
Записывает последовательность байтов в поток в текущей позиции.
void writeBit(int bit)
Записывает в поток один бит, заданный младшим битом аргумента, в текущем битовом смещении внутри текущей позиции байта.
void writeBits(long bits, int numBits)
Записывает в поток последовательность битов, заданную numBits младшими битами аргумента bits в порядке слева направо, начиная с текущего битового смещения внутри текущей позиции байта.
void writeBoolean(boolean v)
Записывает в поток значение типа boolean.
void writeByte(int v)
Записывает в поток 8 младших битов v.
void writeBytes(String s)
Записывает строку в выходной поток.
void writeChar(int v)
Этот метод является синонимом метода writeShort.
void writeChars(char[] c, int off, int len)
Записывает последовательность символов в поток в текущей позиции.
void writeChars(String s)
Записывает строку в выходной поток.
void writeDouble(double v)
Записывает в выходной поток значение типа double, состоящее из четырех байтов.
void writeDoubles(double[] d, int off, int len)
Записывает последовательность чисел типа double в поток в текущей позиции.
void writeFloat(float v)
Записывает в выходной поток значение типа float, состоящее из четырех байтов.
void writeFloats(float[] f, int off, int len)
Записывает последовательность чисел типа float в поток в текущей позиции.
void writeInt(int v)
Записывает в поток 32 бита значения v.
void writeInts(int[] i, int off, int len)
Записывает последовательность целых чисел в поток в текущей позиции.
void writeLong(long v)
Записывает в поток 64 бита значения v.
void writeLongs(long[] l, int off, int len)
Записывает последовательность чисел типа long в поток в текущей позиции.
void writeShort(int v)
Записывает в поток 16 младших битов v.
void writeShorts(short[] s, int off, int len)
Записывает последовательность чисел типа short в поток в текущей позиции.
void writeUTF(String s)
Записывает в выходной поток два байта длины в сетевом порядке байтов, за которыми следует представление каждого символа строки s в модифицированном формате UTF-8.

Методы, объявленные в классе ImageInputStreamImpl

checkClosed, 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, setBitOffset, setByteOrder, skipBytes, skipBytes
Модификатор и тип Метод Описание
protected final void checkClosed()
Выбрасывает IOException, если поток закрыт.
void flush()
Отбрасывает начальную позицию потока, предшествующую текущей позиции.
int getBitOffset()
Возвращает текущее битовое смещение в виде целого числа от 0 до 7 включительно.
ByteOrder getByteOrder()
Возвращает порядок байтов, в соответствии с которым значения данных будут считываться из этого потока, в виде экземпляра перечисления java.nio.ByteOrder.
long getFlushedPosition()
Возвращает самую раннюю позицию в потоке, к которой можно перейти.
long getStreamPosition()
Возвращает текущую позицию байта в потоке.
long length()
Возвращает -1L, указывая, что длина потока неизвестна.
void mark()
Помещает текущую позицию в потоке в стек отмеченных позиций.
int read(byte[] b)
Вспомогательный метод, вызывающий read(b, 0, b.length).
int readBit()
Считывает один бит из потока и возвращает его как int со значением 0 или 1.
long readBits(int numBits)
Считывает из потока битовую строку и возвращает ее как long; первый считанный бит становится старшим битом результата.
boolean readBoolean()
Считывает байт из потока и возвращает значение типа boolean: true, если оно не равно нулю, и false, если оно равно нулю.
byte readByte()
Считывает байт из потока и возвращает его как значение типа byte.
void readBytes(IIOByteBuffer buf, int len)
Считывает из потока до len байт и изменяет переданный IIOByteBuffer, указывая массив байтов, смещение и длину, по которым можно найти данные.
char readChar()
Эквивалентен readUnsignedShort, за исключением того, что результат возвращается с использованием типа данных char.
double readDouble()
Считывает из потока 8 байтов, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как double.
float readFloat()
Считывает из потока 4 байта, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как float.
void readFully(byte[] b)
Считывает из потока b.length байт и сохраняет их в b, начиная с индекса 0.
void readFully(byte[] b, int off, int len)
Считывает из потока len байт и сохраняет их в b, начиная с индекса off.
void readFully(char[] c, int off, int len)
Считывает из потока len символов (беззнаковых 16-битных целых чисел) в соответствии с текущим порядком байтов и сохраняет их в c, начиная с индекса off.
void readFully(double[] d, int off, int len)
Считывает из потока len чисел double (64-битных чисел с плавающей запятой двойной точности IEEE) в соответствии с текущим порядком байтов и сохраняет их в d, начиная с индекса off.
void readFully(float[] f, int off, int len)
Считывает из потока len чисел float (32-битных чисел с плавающей запятой одинарной точности IEEE) в соответствии с текущим порядком байтов и сохраняет их в f, начиная с индекса off.
void readFully(int[] i, int off, int len)
Считывает из потока len целых чисел int (знаковых 32-битных целых чисел) в соответствии с текущим порядком байтов и сохраняет их в i, начиная с индекса off.
void readFully(long[] l, int off, int len)
Считывает из потока len целых чисел long (знаковых 64-битных целых чисел) в соответствии с текущим порядком байтов и сохраняет их в l, начиная с индекса off.
void readFully(short[] s, int off, int len)
Считывает из потока len целых чисел short (знаковых 16-битных целых чисел) в соответствии с текущим порядком байтов и сохраняет их в s, начиная с индекса off.
int readInt()
Считывает из потока 4 байта, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как int.
String readLine()
Считывает следующую строку текста из входного потока.
long readLong()
Считывает из потока 8 байтов, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как long.
short readShort()
Считывает из потока два байта, (концептуально) объединяет их в соответствии с текущим порядком байтов и возвращает результат как значение типа short.
int readUnsignedByte()
Считывает байт из потока, (концептуально) преобразует его в int, применяет маску 0xff, чтобы удалить биты знакового расширения, и возвращает результат как значение типа byte.
long readUnsignedInt()
Считывает из потока 4 байта, (концептуально) объединяет их в соответствии с текущим порядком байтов, преобразует результат в long, применяет маску 0xffffffffL, чтобы удалить биты знакового расширения, и возвращает результат как беззнаковое значение типа long.
int readUnsignedShort()
Считывает из потока два байта, (концептуально) объединяет их в соответствии с текущим порядком байтов, преобразует полученное значение в int, применяет маску 0xffff, чтобы удалить биты знакового расширения, и возвращает результат как беззнаковое значение типа int.
String readUTF()
Считывает строку, закодированную в формате модифицированного UTF-8.
void reset()
Восстанавливает текущие позиции байта и бита потока из стека отмеченных позиций.
void setBitOffset(int bitOffset)
Устанавливает битовое смещение в целое число от 0 до 7 включительно.
void setByteOrder(ByteOrder byteOrder)
Устанавливает желаемый порядок байтов для последующего чтения значений данных из этого потока.
int skipBytes(int n)
Перемещает текущую позицию в потоке вперед, вызывая seek(getStreamPosition() + n).
long skipBytes(long n)
Перемещает текущую позицию в потоке вперед, вызывая seek(getStreamPosition() + n).

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

FileCacheImageOutputStream

public FileCacheImageOutputStream(OutputStream stream, File cacheDir) throws IOException
Создаёт FileCacheImageOutputStream, который будет выполнять запись в заданный outputStream.

В качестве кэша используется временный файл. Если cacheDir не равно null и является каталогом, файл будет создан в нём. Если оно равно null, будет использоваться системный каталог временных файлов по умолчанию (подробности см. в документации к File.createTempFile).

Параметры:
stream — OutputStream, в который выполняется запись.
cacheDir — File, указывающий, где следует создать файл кэша, или null для использования системного каталога.
Исключения:
IllegalArgumentException — если stream равно null.
IllegalArgumentException — если cacheDir не равно null, но не является каталогом.
IOException — если не удаётся создать файл кэша.

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

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 — если произошла ошибка ввода-вывода.

seek

public void seek(long pos) throws IOException
Устанавливает текущую позицию в потоке и сбрасывает битовое смещение до 0. Допускается переход за конец файла; EOFException будет выброшено только при выполнении чтения. Длина файла не увеличится, пока не будет выполнена запись.
Параметры:
pos — long, содержащее требуемую позицию указателя файла.
Исключения:
IndexOutOfBoundsException — если pos меньше сброшенной позиции.
IOException — если произошла любая другая ошибка ввода-вывода.

isCached

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

isCachedFile

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

isCachedMemory

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

close

public void close() throws IOException
Закрывает этот FileCacheImageOutputStream. Все ожидающие данные сбрасываются в выходной поток, а файл кэша закрывается и удаляется. Целевой OutputStream не закрывается.
Исключения:
IOException — если произошла ошибка.

flushBefore

public void flushBefore(long pos) throws IOException
Сбрасывает все данные до заданной позиции в нижележащий целевой объект, например OutputStream или File. Попытка перейти к сброшенной части потока приведёт к IndexOutOfBoundsException.
Параметры:
pos — long, содержащее длину префикса потока, который можно сбросить в целевой объект.
Исключения:
IOException — если произошла ошибка ввода-вывода.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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