Spec-Zone.ru › OpenJDK 27

Интерфейс ImageOutputStream

Все суперинтерфейсы:
AutoCloseable, Closeable, DataInput, DataOutput, ImageInputStream
Все известные классы-реализации:
FileCacheImageOutputStream, FileImageOutputStream, ImageOutputStreamImpl, MemoryCacheImageOutputStream
public interface ImageOutputStream extends ImageInputStream, DataOutput
Интерфейс выходного потока с возможностью произвольного доступа, предназначенный для использования ImageWriters. Различные назначения для вывода, такие как OutputStreams и Files, а также будущие высокоскоростные назначения ввода-вывода могут быть «обёрнуты» подходящей реализацией этого интерфейса для использования API Image I/O.

В отличие от стандартного OutputStream, ImageOutputStream расширяет соответствующий ему интерфейс ImageInputStream. Таким образом, можно читать данные из потока в процессе записи. Для чтения и записи применяются одинаковые позиции перемещения и сброса, хотя семантика обработки ненулевого смещения бита перед записью с выравниванием по байту неизбежно отличается от семантики обработки ненулевого смещения бита перед чтением с выравниванием по байту. При чтении байтов любое смещение бита перед чтением устанавливается в 0; при записи байтов ненулевое смещение бита приводит к записи оставшихся битов байта как 0. Запись с выравниванием по байту начинается со следующей позиции байта.

См. также:
  • ImageInputStream

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

Модификатор и тип Метод Описание
void flushBefore(long pos)
Сбрасывает все данные до указанной позиции в базовое назначение, например OutputStream или File.
void write(byte[] b)
Записывает последовательность байтов в поток с текущей позиции.
void write(byte[] b, int off, int len)
Записывает последовательность байтов в поток с текущей позиции.
void write(int 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.

Методы, объявленные в интерфейсе 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
Модификатор и тип Метод Описание
void close()
Закрывает поток.
void flush()
Отбрасывает начальную позицию потока, предшествующую текущей позиции.
int getBitOffset()
Возвращает текущее смещение бита в виде целого числа от 0 до 7 включительно.
ByteOrder getByteOrder()
Возвращает порядок байтов, в котором значения данных будут считываться из этого потока, в виде экземпляра перечисления java.nio.ByteOrder.
long getFlushedPosition()
Возвращает самую раннюю позицию в потоке, к которой можно выполнить переход.
long getStreamPosition()
Возвращает текущую позицию потока в байтах.
boolean isCached()
Возвращает true, если этот ImageInputStream кэширует данные самостоятельно, чтобы обеспечить возможность перехода назад.
boolean isCachedFile()
Возвращает true, если этот ImageInputStream кэширует данные самостоятельно, чтобы обеспечить возможность перехода назад, и кэш хранится во временном файле.
boolean isCachedMemory()
Возвращает true, если этот ImageInputStream кэширует данные самостоятельно, чтобы обеспечить возможность перехода назад, и кэш хранится в основной памяти.
long length()
Возвращает общую длину потока, если она известна.
void mark()
Помечает позицию в потоке, к которой можно вернуться последующим вызовом reset.
int read()
Считывает один байт из потока и возвращает его в виде целого числа от 0 до 255.
int read(byte[] b)
Считывает из потока не более b.length байтов и сохраняет их в b, начиная с индекса 0.
int read(byte[] b, int off, int len)
Считывает из потока не более len байтов и сохраняет их в b, начиная с индекса off.
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()
Возвращает указатель потока к предыдущей позиции, включая смещение бита, на момент последнего незакрытого вызова mark.
void seek(long pos)
Устанавливает текущую позицию потока в заданное место.
void setBitOffset(int bitOffset)
Устанавливает смещение бита в целое число от 0 до 7 включительно.
void setByteOrder(ByteOrder byteOrder)
Задаёт порядок байтов для последующего чтения значений данных из этого потока.
int skipBytes(int n)
Перемещает позицию потока вперёд на заданное количество байтов.
long skipBytes(long n)
Перемещает позицию потока вперёд на заданное количество байтов.

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

write

void write(int b) throws IOException
Записывает один байт в поток в текущей позиции. 24 старших бита b игнорируются.

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

Определено в:
write в интерфейсе DataOutput
Параметры:
b — int, младшие 8 бит которого нужно записать.
Исключения:
IOException — если произошла ошибка ввода-вывода.

write

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

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

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

write

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

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

Определено в:
write в интерфейсе DataOutput
Параметры:
b — массив byte для записи.
off — начальное смещение в данных.
len — количество byte для записи.
Исключения:
IndexOutOfBoundsException — если off отрицательно, len отрицательно или off + len больше b.length.
NullPointerException — если b равно null.
IOException — если произошла ошибка ввода-вывода.

writeBoolean

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

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

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

writeByte

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

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

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

writeShort

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

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

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

writeChar

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

writeInt

void writeInt(int v) throws IOException
Записывает в поток 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
Параметры:
v — int, содержащее записываемое значение.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeLong

void writeLong(long v) throws IOException
Записывает в поток 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
Параметры:
v — long, содержащее записываемое значение.
Исключения:
IOException — если произошла ошибка ввода-вывода.

writeFloat

void writeFloat(float v) throws IOException
Записывает в выходной поток значение float, состоящее из четырех байтов. Для этого сначала преобразует значение float в int точно так же, как это делает метод Float.floatToIntBits, а затем записывает значение int точно так же, как это делает метод writeInt.

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

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

writeDouble

void writeDouble(double v) throws IOException
Записывает в выходной поток значение double, состоящее из четырех байтов. Для этого сначала преобразует значение double в long точно так же, как это делает метод Double.doubleToLongBits, а затем записывает значение long точно так же, как это делает метод writeLong.

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

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

writeBytes

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

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

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

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

writeChars

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

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

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

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

writeUTF

void writeUTF(String s) throws IOException
Записывает в выходной поток два байта с информацией о длине в сетевом порядке байтов, а затем представление модифицированного 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
Параметры:
s — String, содержащее записываемое значение.
Исключения:
NullPointerException — если s равно null.
UTFDataFormatException — если для представления s в модифицированном UTF-8 требуется более 65536 байтов.
IOException — если произошла ошибка ввода-вывода.

writeShorts

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

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

Параметры:
s — массив short для записи.
off — начальное смещение в данных.
len — количество short для записи.
Исключения:
IndexOutOfBoundsException — если off отрицательно, len отрицательно или off + len больше s.length.
NullPointerException — если s равно null.
IOException — если произошла ошибка ввода-вывода.

writeChars

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

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

Параметры:
c — массив char для записи.
off — начальное смещение в данных.
len — количество char для записи.
Исключения:
IndexOutOfBoundsException — если off отрицательно, len отрицательно или off + len больше c.length.
NullPointerException — если c равно null.
IOException — если произошла ошибка ввода-вывода.

writeInts

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

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

Параметры:
i — массив int для записи.
off — начальное смещение в данных.
len — количество int для записи.
Исключения:
IndexOutOfBoundsException — если off отрицательно, len отрицательно или off + len больше i.length.
NullPointerException — если i равно null.
IOException — если произошла ошибка ввода-вывода.

writeLongs

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

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

Параметры:
l — массив long для записи.
off — начальное смещение в данных.
len — количество long для записи.
Исключения:
IndexOutOfBoundsException — если off отрицательно, len отрицательно или off + len больше l.length.
NullPointerException — если l равно null.
IOException — если произошла ошибка ввода-вывода.

writeFloats

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

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

Параметры:
f — массив float для записи.
off — начальное смещение в данных.
len — количество float для записи.
Исключения:
IndexOutOfBoundsException — если off отрицательно, len отрицательно или off + len больше f.length.
NullPointerException — если f равно null.
IOException — если произошла ошибка ввода-вывода.

writeDoubles

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

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

Параметры:
d — массив doubles для записи.
off — начальное смещение в данных.
len — количество double для записи.
Исключения:
IndexOutOfBoundsException — если off отрицательно, len отрицательно или off + len больше d.length.
NullPointerException — если d равно null.
IOException — если произошла ошибка ввода-вывода.

writeBit

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

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

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

writeBits

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

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

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

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

flushBefore

void flushBefore(long pos) throws IOException
Сбрасывает все данные, предшествующие указанной позиции, в базовое место назначения, например OutputStream или File. Попытка выполнить позиционирование в сброшенную часть потока приведет к IndexOutOfBoundsException.
Определено в:
flushBefore в интерфейсе ImageInputStream
Параметры:
pos — long, содержащее длину префикса потока, который можно сбросить в место назначения.
Исключения:
IndexOutOfBoundsException — если pos находится в сброшенной части потока или за текущей позицией потока.
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