Класс ImageOutputStreamImpl
- Все реализуемые интерфейсы:
-
Closeable,DataInput,DataOutput,AutoCloseable,ImageInputStream,ImageOutputStream
- Непосредственные известные подклассы:
-
FileCacheImageOutputStream,FileImageOutputStream,MemoryCacheImageOutputStream
public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl implements ImageOutputStream
ImageOutputStream. Этот класс предназначен для сокращения количества методов, которые необходимо реализовать подклассам.Краткое описание полей
Поля, объявленные в классе javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ImageOutputStreamImpl() |
Создаёт ImageOutputStreamImpl. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected final void |
flushBits() |
Если смещение бита не равно нулю, обнуляет оставшиеся биты в текущем байте и перемещает позицию потока на один байт вперёд. |
void |
write |
Записывает последовательность байтов в поток по текущей позиции. |
void |
writeBit |
Записывает один бит, заданный младшим битом аргумента, в поток по текущему битовому смещению в текущей позиции байта. |
void |
writeBits |
Записывает последовательность битов, заданных numBits младшими битами аргумента в порядке слева направо, в поток по текущему битовому смещению в текущей позиции байта. |
void |
writeBoolean |
Записывает значение boolean в поток. |
void |
writeByte |
Записывает 8 младших битов v в поток. |
void |
writeBytes |
Записывает строку в выходной поток. |
void |
writeChar |
Этот метод является синонимом для writeShort. |
void |
writeChars |
Записывает последовательность символов в поток по текущей позиции. |
void |
writeChars |
Записывает строку в выходной поток. |
void |
writeDouble |
Записывает значение double, которое состоит из четырёх байтов, в выходной поток. |
void |
writeDoubles |
Записывает последовательность чисел с плавающей точкой двойной точности в поток по текущей позиции. |
void |
writeFloat |
Записывает значение float, которое состоит из четырёх байтов, в выходной поток. |
void |
writeFloats |
Записывает последовательность чисел с плавающей точкой одинарной точности в поток по текущей позиции. |
void |
writeInt |
Записывает 32 бита v в поток. |
void |
writeInts |
Записывает последовательность целых чисел в поток по текущей позиции. |
void |
writeLong |
Записывает 64 бита v в поток. |
void |
writeLongs |
Записывает последовательность длинных целых чисел в поток по текущей позиции. |
void |
writeShort |
Записывает 16 младших битов v в поток. |
void |
writeShorts |
Записывает последовательность коротких целых чисел в поток по текущей позиции. |
void |
writeUTF |
Записывает два байта информации о длине в выходной поток в сетевом порядке байтов, а затем — представление каждого символа в строке s в формате изменённого UTF-8. |
Методы, объявленные в классе javax.imageio.stream.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
Методы, объявленные в классе java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе javax.imageio.stream.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
Методы, объявленные в интерфейсе javax.imageio.stream.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 (unsigned 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- aStringсодержащий значение, которое нужно записать. - Выбрасывает:
-
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- aStringсодержащий значение, которое нужно записать. - Выбрасывает:
-
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 в виде одного, двух или трёх байтов.
Текущая установка порядка байтов игнорируется.
Примечание: Этот метод не следует использовать при реализации форматов изображений, использующих стандартный UTF-8, поскольку модифицированный UTF-8, используемый здесь, несовместим со стандартным UTF-8.
- Указано в:
-
writeUTFв интерфейсеDataOutput - Указано в:
-
writeUTFв интерфейсеImageOutputStream - Параметры:
-
s- aStringсодержащий значение, которое нужно записать. - Выбрасывает:
-
UTFDataFormatException- если модифицированное UTF-8 представлениеsтребует более 65536 байтов. -
IOException- если произошла ошибка ввода-вывода.
writeShorts
public void writeShorts(short[] s, int off, int len) throws IOException
ImageOutputStreamlen равно 0, ничего не записывается. Короткий целочисленный тип s[off] записывается первым, затем короткий целочисленный тип 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, ничего не записывается. Символ c[off] записывается первым, затем символ 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, ничего не записывается. Целое число i[off] записывается первым, затем целое число 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, ничего не записывается. Длинное целое число l[off] записывается первым, затем длинное целое число 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, ничего не записывается. Сначала записывается число с плавающей точкой f[off], затем число f[off + 1], и так далее. Порядок байтов в потоке используется для определения порядка записи отдельных байтов. Если битовый сдвиг в потоке не равен нулю, остаток текущего байта заполняется нулями и записывается вначале. Битовый сдвиг будет равен 0 после записи.
- Определено в:
-
writeFloatsв интерфейсеImageOutputStream - Параметры:
-
f- массив чисел с плавающей точкой, подлежащих записи. -
off- начальный смещение в данных. -
len- количество чисел с плавающей точкой для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeDoubles
public void writeDoubles(double[] d, int off, int len) throws IOException
ImageOutputStreamlen равно 0, ничего не записывается. Сначала записывается число с двойной точностью d[off], затем число d[off + 1], и так далее. Порядок байтов в потоке используется для определения порядка записи отдельных байтов. Если битовый сдвиг в потоке не равен нулю, остаток текущего байта заполняется нулями и записывается вначале. Битовый сдвиг будет равен 0 после записи.
- Определено в:
-
writeDoublesв интерфейсеImageOutputStream - Параметры:
-
d- массив чисел с двойной точностью, подлежащих записи. -
off- начальный смещение в данных. -
len- количество чисел с двойной точностью для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeBit
public void writeBit(int bit) throws IOException
ImageOutputStreamЕсли какие-либо биты определенного байта никогда не были установлены в момент записи байта в место назначения, эти биты автоматически устанавливаются в 0.
- Определено в:
-
writeBitв интерфейсеImageOutputStream - Параметры:
-
bit- целое число, младший бит которого должен быть записан в поток. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeBits
public void writeBits(long bits, int numBits) throws IOException
ImageOutputStreamnumBits младшими значащими битами аргумента bits в порядке слева направо, в поток в текущей битовой позиции текущей позиции байта. Старшие 64 - numBits биты аргумента игнорируются. Битовый сдвиг увеличивается на numBits и уменьшается по модулю 8. Обратите внимание, что битовый сдвиг 0 всегда указывает на наиболее значимый бит байта, а байты битов записываются последовательно по мере их возникновения. Таким образом, битовые записи всегда выполняются в сетевом порядке байтов. Фактическое значение порядка байтов потока игнорируется. Данные битов могут накапливаться в памяти неопределенно долго, пока не будет вызвано flushBefore. В этот момент все данные битов до сброшенной позиции будут записаны.
Если какие-либо биты определенного байта никогда не были установлены в момент записи байта в место назначения, эти биты автоматически устанавливаются в 0.
- Определено в:
-
writeBitsв интерфейсеImageOutputStream - Параметры:
-
bits- целое число, содержащее биты, подлежащие записи, начиная с бита в позицииnumBits - 1до младшего значащего бита. -
numBits- целое число от 0 до 64 включительно. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
flushBits
protected final void flushBits() throws IOException
write(int) и write(byte[], int, int). - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
© 1993, 2023, 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/21/docs/api/java.desktop/javax/imageio/stream/ImageOutputStreamImpl.html