Spec-Zone.ru › OpenJDK 25

Класс ImageOutputStreamImpl

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
Все реализуемые интерфейсы:
Closeable, DataInput, DataOutput, AutoCloseable, ImageInputStream, ImageOutputStream
Прямые известные подклассы:
FileCacheImageOutputStream, FileImageOutputStream, MemoryCacheImageOutputStream
public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl implements ImageOutputStream
Абстрактный класс, реализующий интерфейс ImageOutputStream. Этот класс предназначен для сокращения количества методов, которые должны реализовывать подклассы.

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

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

bitOffset, byteOrder, flushedPos, streamPos

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

Конструктор Описание
ImageOutputStreamImpl()
Создаёт ImageOutputStreamImpl.

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

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

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

checkClosed, close, finalize, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, length, mark, read, read, 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

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

clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

close, flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, length, mark, read, read, 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

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

flushBefore, write, write

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

ImageOutputStreamImpl

public ImageOutputStreamImpl()
Создаёт ImageOutputStreamImpl.

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

write

public void write(byte[] b) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает последовательность байтов в поток в текущей позиции. Если b.length равно 0, ничего не записывается. Сначала записывается байт b[0], затем байт b[1] и так далее.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
write в интерфейсе DataOutput
Определено в:
write в интерфейсе ImageOutputStream
Параметры:
b — массив byte для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeBoolean

public void writeBoolean(boolean v) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает значение типа boolean в поток. Если v равно true, записывается значение (byte)1; если v равно false, записывается значение (byte)0.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeBoolean в интерфейсе DataOutput
Определено в:
writeBoolean в интерфейсе ImageOutputStream
Параметры:
v — значение boolean для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeByte

public void writeByte(int v) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает в поток 8 младших битов значения v. 24 старших бита значения v игнорируются. (Это означает, что writeByte выполняет для целочисленного аргумента в точности то же, что и write.)

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeByte в интерфейсе DataOutput
Определено в:
writeByte в интерфейсе ImageOutputStream
Параметры:
v — int, содержащее значение байта для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeShort

public void writeShort(int v) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает в поток 16 младших битов значения v. 16 старших битов значения v игнорируются. Если в потоке используется сетевой порядок байтов, байты записываются в следующем порядке:
(byte)((v >> 8) & 0xff)
(byte)(v & 0xff)
В противном случае байты записываются так:
(byte)(v & 0xff)
(byte)((v >> 8) & 0xff)

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeShort в интерфейсе DataOutput
Определено в:
writeShort в интерфейсе ImageOutputStream
Параметры:
v — int, содержащее значение типа short для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeChar

public void writeChar(int v) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Этот метод является синонимом метода writeShort.
Определено в:
writeChar в интерфейсе DataOutput
Определено в:
writeChar в интерфейсе ImageOutputStream
Параметры:
v — int, содержащее значение типа char (беззнаковое short) для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.
См. также:
  • ImageOutputStream.writeShort(int)

writeInt

public void writeInt(int v) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает в поток 32 бита значения v. Если в потоке используется сетевой порядок байтов, байты записываются в следующем порядке:
(byte)((v >> 24) & 0xff)
(byte)((v >> 16) & 0xff)
(byte)((v >> 8) & 0xff)
(byte)(v & 0xff)
В противном случае байты записываются так:
(byte)(v & 0xff)
(byte)((v >> 8) & 0xff)
(byte)((v >> 16) & 0xff)
(byte)((v >> 24) & 0xff)

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeInt в интерфейсе DataOutput
Определено в:
writeInt в интерфейсе ImageOutputStream
Параметры:
v — int, содержащее значение для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeLong

public void writeLong(long v) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает в поток 64 бита значения v. Если в потоке используется сетевой порядок байтов, байты записываются в следующем порядке:
(byte)((v >> 56) & 0xff)
(byte)((v >> 48) & 0xff)
(byte)((v >> 40) & 0xff)
(byte)((v >> 32) & 0xff)
(byte)((v >> 24) & 0xff)
(byte)((v >> 16) & 0xff)
(byte)((v >> 8) & 0xff)
(byte)(v & 0xff)
В противном случае байты записываются так:
(byte)(v & 0xff)
(byte)((v >> 8) & 0xff)
(byte)((v >> 16) & 0xff)
(byte)((v >> 24) & 0xff)
(byte)((v >> 32) & 0xff)
(byte)((v >> 40) & 0xff)
(byte)((v >> 48) & 0xff)
(byte)((v >> 56) & 0xff)

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeLong в интерфейсе DataOutput
Определено в:
writeLong в интерфейсе ImageOutputStream
Параметры:
v — long, содержащее значение для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeFloat

public void writeFloat(float v) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает в поток вывода значение float, состоящее из четырёх байтов. Это выполняется так, как если бы сначала значение float преобразовывалось в int в точности так же, как в методе Float.floatToIntBits, а затем значение типа int записывалось в точности так же, как в методе writeInt.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeFloat в интерфейсе DataOutput
Определено в:
writeFloat в интерфейсе ImageOutputStream
Параметры:
v — float, содержащее значение для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeDouble

public void writeDouble(double v) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает в поток вывода значение double, состоящее из четырёх байтов. Это выполняется так, как если бы сначала значение double преобразовывалось в long в точности так же, как в методе Double.doubleToLongBits, а затем значение типа long записывалось в точности так же, как в методе writeLong.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeDouble в интерфейсе DataOutput
Определено в:
writeDouble в интерфейсе ImageOutputStream
Параметры:
v — double, содержащее значение для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeBytes

public void writeBytes(String s) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает строку в поток вывода. Для каждого символа строки s, взятого по порядку, в поток вывода записывается один байт. Если s равно null, генерируется исключение NullPointerException.

Если s.length равно нулю, байты не записываются. В противном случае сначала записывается символ s[0], затем s[1] и так далее; последним записывается символ s[s.length-1]. Для каждого символа записывается один байт — младший байт, в точности так же, как в методе writeByte. Старшие восемь битов каждого символа в строке игнорируются.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeBytes в интерфейсе DataOutput
Определено в:
writeBytes в интерфейсе ImageOutputStream
Параметры:
s — String, содержащее значение для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeChars

public void writeChars(String s) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает строку в поток вывода. Для каждого символа строки s, взятого по порядку, в поток вывода записываются два байта в порядке, заданном текущей настройкой порядка байтов. Если используется сетевой порядок байтов, первым записывается старший байт; в противном случае порядок обратный. Если s равно null, генерируется исключение NullPointerException.

Если s.length равно нулю, байты не записываются. В противном случае сначала записывается символ s[0], затем s[1] и так далее; последним записывается символ s[s.length-1].

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeChars в интерфейсе DataOutput
Определено в:
writeChars в интерфейсе ImageOutputStream
Параметры:
s — String, содержащее значение для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeUTF

public void writeUTF(String s) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает в поток вывода два байта информации о длине в сетевом порядке байтов, за которыми следует представление модифицированного UTF-8 для каждого символа строки s. Если s равно null, генерируется исключение NullPointerException. Каждый символ строки s преобразуется в группу из одного, двух или трёх байтов в зависимости от значения символа.

Если символ c находится в диапазоне от \u0001 до \u007f, он представляется одним байтом:

(byte)c

Если символ c равен \u0000 или находится в диапазоне от \u0080 до \u07ff, он представляется двумя байтами, которые записываются в указанном порядке:

(byte)(0xc0 | (0x1f & (c >> 6)))
(byte)(0x80 | (0x3f & c))

Если символ c находится в диапазоне от \u0800 до uffff, он представляется тремя байтами, которые записываются в указанном порядке:

(byte)(0xe0 | (0x0f & (c >> 12)))
(byte)(0x80 | (0x3f & (c >> 6)))
(byte)(0x80 | (0x3f & c))

Сначала вычисляется общее количество байтов, необходимое для представления всех символов s. Если это число больше 65535, генерируется исключение UTFDataFormatException. В противном случае эта длина записывается в поток вывода в точности так же, как в методе writeShort; после этого записывается одно-, двух- или трёхбайтовое представление каждого символа строки s.

Текущая настройка порядка байтов игнорируется.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Примечание: Этот метод не следует использовать при реализации форматов изображений, в которых применяется стандартный UTF-8, поскольку используемый здесь модифицированный UTF-8 несовместим со стандартным UTF-8.

Определено в:
writeUTF в интерфейсе DataOutput
Определено в:
writeUTF в интерфейсе ImageOutputStream
Параметры:
s — String, содержащее значение для записи.
Исключения:
UTFDataFormatException — если для представления s в модифицированном UTF-8 требуется более 65536 байтов.
IOException — если произошла ошибка ввода-вывода.

writeShorts

public void writeShorts(short[] s, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает последовательность значений типа short в поток в текущей позиции. Если len равно 0, ничего не записывается. Сначала записывается значение short s[off], затем значение short s[off + 1] и так далее. Порядок байтов потока определяет порядок записи отдельных байтов.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeShorts в интерфейсе ImageOutputStream
Параметры:
s — массив short для записи.
off — начальное смещение в данных.
len — количество short для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeChars

public void writeChars(char[] c, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает последовательность символов типа char в поток в текущей позиции. Если len равно 0, ничего не записывается. Сначала записывается символ char c[off], затем символ char c[off + 1] и так далее. Порядок байтов потока определяет порядок записи отдельных байтов.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeChars в интерфейсе ImageOutputStream
Параметры:
c — массив char для записи.
off — начальное смещение в данных.
len — количество char для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeInts

public void writeInts(int[] i, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает последовательность значений типа int в поток в текущей позиции. Если len равно 0, ничего не записывается. Сначала записывается значение int i[off], затем значение int i[off + 1] и так далее. Порядок байтов потока определяет порядок записи отдельных байтов.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeInts в интерфейсе ImageOutputStream
Параметры:
i — массив int для записи.
off — начальное смещение в данных.
len — количество int для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeLongs

public void writeLongs(long[] l, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает последовательность значений типа long в поток в текущей позиции. Если len равно 0, ничего не записывается. Сначала записывается значение long l[off], затем значение long l[off + 1] и так далее. Порядок байтов потока определяет порядок записи отдельных байтов.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeLongs в интерфейсе ImageOutputStream
Параметры:
l — массив long для записи.
off — начальное смещение в данных.
len — количество long для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeFloats

public void writeFloats(float[] f, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает последовательность значений типа float в поток в текущей позиции. Если len равно 0, ничего не записывается. Сначала записывается значение float f[off], затем значение float f[off + 1] и так далее. Порядок байтов потока определяет порядок записи отдельных байтов.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeFloats в интерфейсе ImageOutputStream
Параметры:
f — массив float для записи.
off — начальное смещение в данных.
len — количество float для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeDoubles

public void writeDoubles(double[] d, int off, int len) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает последовательность значений типа double в поток в текущей позиции. Если len равно 0, ничего не записывается. Сначала записывается значение double d[off], затем значение double d[off + 1] и так далее. Порядок байтов потока определяет порядок записи отдельных байтов.

Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.

Определено в:
writeDoubles в интерфейсе ImageOutputStream
Параметры:
d — массив doubles для записи.
off — начальное смещение в данных.
len — количество double для записи.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeBit

public void writeBit(int bit) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает один бит, заданный младшим значащим битом аргумента, в поток по текущему смещению бита в текущей позиции байта. Старшие 31 бит аргумента игнорируются. Указанный бит заменяет предыдущее значение бита в этой позиции. Смещение бита увеличивается на единицу и берётся по модулю 8.

Если к моменту сброса байта в место назначения некоторые его биты ни разу не были установлены, они автоматически устанавливаются в 0.

Определено в:
writeBit в интерфейсе ImageOutputStream
Параметры:
bit — int, младший значащий бит которого записывается в поток.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeBits

public void writeBits(long bits, int numBits) throws IOException
Описание скопировано из интерфейса: ImageOutputStream
Записывает в поток последовательность битов, заданную numBits младшими значащими битами аргумента bits, в порядке слева направо, начиная с текущего смещения бита в текущей позиции байта. Старшие 64 - numBits битов аргумента игнорируются. Смещение бита увеличивается на numBits и берётся по модулю 8. Обратите внимание, что смещение бита 0 всегда соответствует старшему значащему биту байта, а байты, содержащие биты, записываются последовательно по мере их обработки. Таким образом, запись битов всегда фактически выполняется в сетевом порядке байтов. Фактическая настройка порядка байтов потока игнорируется.

Данные битов могут неограниченно накапливаться в памяти до вызова flushBefore. В этот момент будут записаны все данные битов, находящиеся до позиции сброса.

Если к моменту сброса байта в место назначения некоторые его биты ни разу не были установлены, они автоматически устанавливаются в 0.

Определено в:
writeBits в интерфейсе ImageOutputStream
Параметры:
bits — long, содержащее записываемые биты, начиная с бита в позиции numBits - 1 и далее до младшего значащего бита.
numBits — int от 0 до 64 включительно.
Исключения:
IOException — если произошла ошибка ввода-вывода.

flushBits

protected final void flushBits() throws IOException
Если смещение бита не равно нулю, принудительно устанавливает оставшиеся биты текущего байта в 0 и увеличивает позицию в потоке на единицу. Этот метод следует вызывать подклассам в начале методов write(int) и write(byte[], int, int).
Исключения:
IOException — если произошла ошибка ввода-вывода.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/imageio/stream/ImageOutputStreamImpl.html

Spec-Zone.ru

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