Spec-Zone.ru › OpenJDK 27

Класс FileImageOutputStream

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
javax.imageio.stream.FileImageOutputStream
Все реализуемые интерфейсы:
Closeable, DataInput, DataOutput, AutoCloseable, ImageInputStream, ImageOutputStream
public class FileImageOutputStream extends ImageOutputStreamImpl
Реализация ImageOutputStream, которая записывает выходные данные непосредственно в File или RandomAccessFile.

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

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

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

Конструктор Описание
FileImageOutputStream(File f)
Создает FileImageOutputStream, который будет записывать данные в заданный File.
FileImageOutputStream(RandomAccessFile raf)
Создает FileImageOutputStream, который будет записывать данные в заданный RandomAccessFile.

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

Модификатор и тип Метод Описание
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)
Записывает последовательность значений int в поток в текущей позиции.
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)
Записывает в выходной поток два байта информации о длине в сетевом порядке байтов, а затем представление модифицированного UTF-8 каждого символа строки s.

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

checkClosed, close, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, 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 close()
Закрывает поток.
void flush()
Отбрасывает начальную позицию потока до текущей позиции потока.
void flushBefore(long pos)
Отбрасывает начальную часть потока до указанной позиции.
int getBitOffset()
Возвращает текущий битовый сдвиг в виде целого числа от 0 до 7 включительно.
ByteOrder getByteOrder()
Возвращает порядок байтов, в котором значения данных будут считываться из этого потока, в виде экземпляра перечисления java.nio.ByteOrder.
long getFlushedPosition()
Возвращает самую раннюю позицию в потоке, к которой можно перейти.
long getStreamPosition()
Возвращает текущую позицию потока в байтах.
boolean isCached()
Реализация по умолчанию возвращает false.
boolean isCachedFile()
Реализация по умолчанию возвращает false.
boolean isCachedMemory()
Реализация по умолчанию возвращает false.
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()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Методы, объявленные в интерфейсе ImageOutputStream

flushBefore
Модификатор и тип Метод Описание
void flushBefore(long pos)
Сбрасывает все данные до указанной позиции в базовое место назначения, например в OutputStream или File.

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

FileImageOutputStream

public FileImageOutputStream(File f) throws FileNotFoundException, IOException
Создает FileImageOutputStream, который будет записывать данные в заданный File.
Параметры:
f — File, в который будут записываться данные.
Исключения:
IllegalArgumentException — если f равен null.
FileNotFoundException — если f не обозначает обычный файл или его не удается открыть для чтения и записи по какой-либо другой причине.
IOException — если произошла ошибка ввода-вывода.

FileImageOutputStream

public FileImageOutputStream(RandomAccessFile raf)
Создает FileImageOutputStream, который будет записывать данные в заданный RandomAccessFile.
Параметры:
raf — RandomAccessFile, в который будут записываться данные.
Исключения:
IllegalArgumentException — если raf равен 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 — если произошла ошибка ввода-вывода.

seek

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065, США.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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