Класс 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 |
Записывает последовательность байтов в поток в текущей позиции. |
void |
writeBit |
Записывает в поток один бит, заданный младшим битом аргумента, в текущей битовой позиции внутри текущего байта. |
void |
writeBits |
Записывает в поток последовательность битов, заданную numBits младшими битами аргумента bits, в порядке слева направо, начиная с текущей битовой позиции внутри текущего байта. |
void |
writeBoolean |
Записывает в поток значение boolean. |
void |
writeByte |
Записывает в поток 8 младших битов значения v. |
void |
writeBytes |
Записывает строку в выходной поток. |
void |
writeChar |
Этот метод является синонимом метода writeShort. |
void |
writeChars |
Записывает последовательность символов в поток в текущей позиции. |
void |
writeChars |
Записывает строку в выходной поток. |
void |
writeDouble |
Записывает в выходной поток значение double, состоящее из четырёх байтов. |
void |
writeDoubles |
Записывает последовательность значений типа double в поток в текущей позиции. |
void |
writeFloat |
Записывает в выходной поток значение float, состоящее из четырёх байтов. |
void |
writeFloats |
Записывает последовательность значений типа float в поток в текущей позиции. |
void |
writeInt |
Записывает в поток 32 бита значения v. |
void |
writeInts |
Записывает последовательность значений типа int в поток в текущей позиции. |
void |
writeLong |
Записывает в поток 64 бита значения v. |
void |
writeLongs |
Записывает последовательность значений типа long в поток в текущей позиции. |
void |
writeShort |
Записывает в поток 16 младших битов значения v. |
void |
writeShorts |
Записывает последовательность значений типа short в поток в текущей позиции. |
void |
writeUTF |
Записывает в выходной поток два байта с информацией о длине в сетевом порядке байтов, а затем представление каждого символа строки 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
ImageOutputStreamb.length равно 0, ничего не записывается. Сначала записывается байт b[0], затем байт b[1] и так далее. Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.
- Определено в:
-
writeв интерфейсеDataOutput - Определено в:
-
writeв интерфейсеImageOutputStream - Параметры:
-
b— массивbyteдля записи. - Исключения:
-
IOException— если произошла ошибка ввода-вывода.
writeBoolean
public void writeBoolean(boolean v) throws IOException
ImageOutputStreamboolean в поток. Если v равно true, записывается значение (byte)1; если v равно false, записывается значение (byte)0. Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.
- Определено в:
-
writeBooleanв интерфейсеDataOutput - Определено в:
-
writeBooleanв интерфейсеImageOutputStream - Параметры:
-
v— значениеbooleanдля записи. - Исключения:
-
IOException— если произошла ошибка ввода-вывода.
writeByte
public void writeByte(int v) throws IOException
ImageOutputStreamv. 24 старших бита значения v игнорируются. (Это означает, что writeByte выполняет для целочисленного аргумента в точности то же, что и write.) Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.
- Определено в:
-
writeByteв интерфейсеDataOutput - Определено в:
-
writeByteв интерфейсеImageOutputStream - Параметры:
-
v—int, содержащее значение байта для записи. - Исключения:
-
IOException— если произошла ошибка ввода-вывода.
writeShort
public void writeShort(int v) throws IOException
ImageOutputStreamv. 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
ImageOutputStreamwriteShort.- Определено в:
-
writeCharв интерфейсеDataOutput - Определено в:
-
writeCharв интерфейсеImageOutputStream - Параметры:
-
v—int, содержащее значение типа char (беззнаковое short) для записи. - Исключения:
-
IOException— если произошла ошибка ввода-вывода. - См. также:
writeInt
public void writeInt(int v) throws IOException
ImageOutputStreamv. Если в потоке используется сетевой порядок байтов, байты записываются в следующем порядке: (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
ImageOutputStreamv. Если в потоке используется сетевой порядок байтов, байты записываются в следующем порядке: (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
ImageOutputStreamfloat, состоящее из четырёх байтов. Это выполняется так, как если бы сначала значение float преобразовывалось в int в точности так же, как в методе Float.floatToIntBits, а затем значение типа int записывалось в точности так же, как в методе writeInt. Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.
- Определено в:
-
writeFloatв интерфейсеDataOutput - Определено в:
-
writeFloatв интерфейсеImageOutputStream - Параметры:
-
v—float, содержащее значение для записи. - Исключения:
-
IOException— если произошла ошибка ввода-вывода.
writeDouble
public void writeDouble(double v) throws IOException
ImageOutputStreamdouble, состоящее из четырёх байтов. Это выполняется так, как если бы сначала значение double преобразовывалось в long в точности так же, как в методе Double.doubleToLongBits, а затем значение типа long записывалось в точности так же, как в методе writeLong. Если смещение бита в потоке не равно нулю, оставшаяся часть текущего байта дополняется нулями и сначала записывается в поток. После записи смещение бита будет равно 0.
- Определено в:
-
writeDoubleв интерфейсеDataOutput - Определено в:
-
writeDoubleв интерфейсеImageOutputStream - Параметры:
-
v—double, содержащее значение для записи. - Исключения:
-
IOException— если произошла ошибка ввода-вывода.
writeBytes
public void writeBytes(String s) throws IOException
ImageOutputStreams, взятого по порядку, в поток вывода записывается один байт. Если 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
ImageOutputStreams, взятого по порядку, в поток вывода записываются два байта в порядке, заданном текущей настройкой порядка байтов. Если используется сетевой порядок байтов, первым записывается старший байт; в противном случае порядок обратный. Если 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
ImageOutputStreams. Если 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
ImageOutputStreamlen равно 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
ImageOutputStreamlen равно 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
ImageOutputStreamlen равно 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
ImageOutputStreamlen равно 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
ImageOutputStreamlen равно 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
ImageOutputStreamlen равно 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Если к моменту сброса байта в место назначения некоторые его биты ни разу не были установлены, они автоматически устанавливаются в 0.
- Определено в:
-
writeBitв интерфейсеImageOutputStream - Параметры:
-
bit—int, младший значащий бит которого записывается в поток. - Исключения:
-
IOException— если произошла ошибка ввода-вывода.
writeBits
public void writeBits(long bits, int numBits) throws IOException
ImageOutputStreamnumBits младшими значащими битами аргумента 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
write(int) и write(byte[], int, int).- Исключения:
-
IOException— если произошла ошибка ввода-вывода.
© 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