Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface ImageOutputStream extends ImageInputStream, DataOutput
ImageWriter
s. Различные выходные места назначения, такой как OutputStream
s и File
s, так же как будущие быстрые места назначения ввода-вывода может быть "обернут" подходящей реализацией этого интерфейса для использования API ввода-вывода Изображения. В отличие от стандарта OutputStream
, ImageOutputStream расширяет свой дубликат, ImageInputStream
. Таким образом возможно читать из потока, как это пишется. То же самое ищет и сбрасывает позиции, применяются к и чтению и записи, хотя семантика для того, чтобы иметь дело с ненулевым разрядным смещением перед выровненной байтом записью обязательно отличается от семантики для того, чтобы иметь дело с ненулевым разрядным смещением перед выровненным байтом чтением. Читая байты, любое разрядное смещение устанавливается в 0 перед чтением; при записи байтов ненулевое разрядное смещение заставляет остающиеся биты в байте быть записанными как 0s. Выровненная байтом запись тогда запускается в следующей позиции байта.
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)
Записи a
boolean оцените потоку. |
void |
writeByte(int v)
Пишут 8 битов младшего разряда
v к потоку. |
void |
writeBytes(String s)
Пишет строка в поток вывода.
|
void |
writeChar(int v)
Этот метод является синонимом для
. |
void |
writeChars(char[] c, int off, int len)
Пишет последовательность случайных работ к потоку в текущей позиции.
|
void |
writeChars(String s)
Пишет строка в поток вывода.
|
void |
writeDouble(double v)
Записи a
double значение, которое состоит из четырех байтов к потоку вывода. |
void |
writeDoubles(double[] d, int off, int len)
Пишет, что последовательность удваивается до потока в текущей позиции.
|
void |
writeFloat(float v)
Записи a
float значение, которое состоит из четырех байтов к потоку вывода. |
void |
writeFloats(float[] f, int off, int len)
Пишет последовательность плаваний к потоку в текущей позиции.
|
void |
writeInt(int v)
Пишут 32 бита
v к потоку. |
void |
writeInts(int[] i, int off, int len)
Пишет последовательность ints к потоку в текущей позиции.
|
void |
writeLong(long v)
Пишут 64 бита
v к потоку. |
void |
writeLongs(long[] l, int off, int len)
Пишет последовательность longs к потоку в текущей позиции.
|
void |
writeShort(int v)
Пишут 16 битов младшего разряда
v к потоку. |
void |
writeShorts(short[] s, int off, int len)
Пишет последовательность шорт к потоку в текущей позиции.
|
void |
writeUTF(String s)
Записи два байта информации о длине к потоку вывода в сетевом порядке байтов, сопровождаемом измененным представлением UTF-8 каждого символа в строке
s . |
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 write(int b) throws IOException
b
игнорируются. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи. Разработчики могут использовать
метод flushBits
гарантировать это.ImageOutputStreamImpl
write
в интерфейсе DataOutput
b
- int
чьи более низкие 8 битов должны быть записаны.IOException
- если ошибка ввода-вывода происходит.void write(byte[] b) throws IOException
b.length
0, ничто не пишется. Байт b[0]
пишется сначала, тогда байт b[1]
, и так далее. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
write
в интерфейсе DataOutput
b
- массив byte
s, чтобы быть записанным.NullPointerException
- если b
null
.IOException
- если ошибка ввода-вывода происходит.void write(byte[] b, int off, int len) throws IOException
len
0, ничто не пишется. Байт b[off]
пишется сначала, тогда байт b[off + 1]
, и так далее. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи. Разработчики могут использовать
метод flushBits
гарантировать это.ImageOutputStreamImpl
write
в интерфейсе DataOutput
b
- массив byte
s, чтобы быть записанным.off
- запуск смещается в данных.len
- число byte
s, чтобы записать.IndexOutOfBoundsException
- если off
отрицательно, len
отрицательно, или off + len
больше чем b.length
.NullPointerException
- если b
null
.IOException
- если ошибка ввода-вывода происходит.void writeBoolean(boolean v) throws IOException
boolean
оцените потоку. Если v
истина, значение (byte)1
пишется; если v
ложь, значение (byte)0
пишется. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeBoolean
в интерфейсе DataOutput
v
- boolean
быть записанным.IOException
- если ошибка ввода-вывода происходит.void writeByte(int v) throws IOException
v
к потоку. 24 бита старшего разряда v
игнорируются. (Это означает это writeByte
делает точно ту же самую вещь как write
для целочисленного параметра.) Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeByte
в интерфейсе DataOutput
v
- int
содержа значение байта, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeShort(int v) throws IOException
v
к потоку. 16 битов старшего разряда v
игнорируются. Если потоковое использование сетевой порядок байтов, записанные байты, в порядке, будет: (byte)((v >> 8) & 0xff) (byte)(v & 0xff)Иначе, записанные байты будут:
(byte)(v & 0xff) (byte)((v >> 8) & 0xff)
Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeShort
в интерфейсе DataOutput
v
- int
содержа короткое значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeChar(int v) throws IOException
writeShort
.writeChar
в интерфейсе DataOutput
v
- int
содержа случайную работу (короткое целое без знака) значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.writeShort(int)
void writeInt(int v) throws IOException
v
к потоку. Если потоковое использование сетевой порядок байтов, записанные байты, в порядке, будет: (byte)((v >> 24) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 8) & 0xff) (byte)(v & 0xff)Otheriwse, записанные байты будет:
(byte)(v & 0xff) (byte)((v >> 8) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 24) & 0xff)
Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeInt
в интерфейсе DataOutput
v
- int
содержа значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeLong(long v) throws IOException
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)
Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeLong
в интерфейсе DataOutput
v
- a long
содержа значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeFloat(float v) throws IOException
float
значение, которое состоит из четырех байтов к потоку вывода. Это делает это, как будто это сначала преобразовывает это float
оцените int
точно способом Float.floatToIntBits
метод и затем пишет международное значение точно способом writeInt
метод. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeFloat
в интерфейсе DataOutput
v
- a float
содержа значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeDouble(double v) throws IOException
double
значение, которое состоит из четырех байтов к потоку вывода. Это делает это, как будто это сначала преобразовывает это double
оцените long
точно способом Double.doubleToLongBits
метод и затем пишет длинное значение точно способом writeLong
метод. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeDouble
в интерфейсе DataOutput
v
- a double
содержа значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeBytes(String s) throws IOException
s
, взятый в порядке, один байт пишется потоку вывода. Если s
null
, a NullPointerException
бросается. Если s.length
нуль, тогда никакие байты не пишутся. Иначе, символ s[0]
пишется сначала, тогда s[1]
, и так далее; записанный последний знак s[s.length-1]
. Для каждого символа один байт пишется, байт младшего разряда, точно способом writeByte
метод. Старший разряд восемь битов каждого символа в строке игнорируется.
Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeBytes
в интерфейсе DataOutput
s
- a String
содержа значение, которое будет записано.NullPointerException
- если s
null
.IOException
- если ошибка ввода-вывода происходит.void writeChars(String s) throws IOException
s
, взятый в порядке, два байта пишутся потоку вывода, упорядоченному согласно текущей установке порядка байтов. Если сетевой порядок байтов используется, байт старшего разряда пишется сначала; порядок инвертируется иначе. Если s
null
, a NullPointerException
бросается. Если s.length
нуль, тогда никакие байты не пишутся. Иначе, символ s[0]
пишется сначала, тогда s[1]
, и так далее; записанный последний знак s[s.length-1]
.
Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
writeChars
в интерфейсе DataOutput
s
- a String
содержа значение, которое будет записано.NullPointerException
- если s
null
.IOException
- если ошибка ввода-вывода происходит.void writeUTF(String s) throws IOException
s
. Если s
null
, a 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
, тогда a UTFDataFormatException
бросается. Иначе, эта длина пишется потоку вывода точно способом writeShort
метод; после этого один - два - или трехбайтовое представление каждого символа в строке s
пишется.
Текущая установка порядка байтов игнорируется.
Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
Отметьте: Этот метод не должен использоваться в реализации форматов изображения, которые используют стандартный UTF-8, потому что измененный UTF-8, используемый здесь, является несовместимым со стандартным UTF-8.
writeUTF
в интерфейсе DataOutput
s
- a String
содержа значение, которое будет записано.NullPointerException
- если s
null
.UTFDataFormatException
- если измененное представление UTF-8 s
требует больше чем 65536 байтов.IOException
- если ошибка ввода-вывода происходит.void writeShorts(short[] s, int off, int len) throws IOException
len
0, ничто не пишется. Короткое s[off]
пишется сначала, тогда короткое s[off + 1]
, и так далее. Порядок байтов потока используется, чтобы определить порядок, в котором пишутся отдельные байты. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
s
- массив short
s, чтобы быть записанным.off
- запуск смещается в данных.len
- число short
s, чтобы записать.IndexOutOfBoundsException
- если off
отрицательно, len
отрицательно, или off + len
больше чем s.length
.NullPointerException
- если s
null
.IOException
- если ошибка ввода-вывода происходит.void writeChars(char[] c, int off, int len) throws IOException
len
0, ничто не пишется. Случайная работа c[off]
пишется сначала, тогда случайная работа c[off + 1]
, и так далее. Порядок байтов потока используется, чтобы определить порядок, в котором пишутся отдельные байты. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
c
- массив char
s, чтобы быть записанным.off
- запуск смещается в данных.len
- число char
s, чтобы записать.IndexOutOfBoundsException
- если off
отрицательно, len
отрицательно, или off + len
больше чем c.length
.NullPointerException
- если c
null
.IOException
- если ошибка ввода-вывода происходит.void writeInts(int[] i, int off, int len) throws IOException
len
0, ничто не пишется. Интервал i[off]
пишется сначала, тогда интервал i[off + 1]
, и так далее. Порядок байтов потока используется, чтобы определить порядок, в котором пишутся отдельные байты. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
i
- массив int
s, чтобы быть записанным.off
- запуск смещается в данных.len
- число int
s, чтобы записать.IndexOutOfBoundsException
- если off
отрицательно, len
отрицательно, или off + len
больше чем i.length
.NullPointerException
- если i
null
.IOException
- если ошибка ввода-вывода происходит.void writeLongs(long[] l, int off, int len) throws IOException
len
0, ничто не пишется. Длинное l[off]
пишется сначала, тогда длинное l[off + 1]
, и так далее. Порядок байтов потока используется, чтобы определить порядок, в котором пишутся отдельные байты. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
l
- массив long
s, чтобы быть записанным.off
- запуск смещается в данных.len
- число long
s, чтобы записать.IndexOutOfBoundsException
- если off
отрицательно, len
отрицательно, или off + len
больше чем l.length
.NullPointerException
- если l
null
.IOException
- если ошибка ввода-вывода происходит.void writeFloats(float[] f, int off, int len) throws IOException
len
0, ничто не пишется. Плавание f[off]
пишется сначала, тогда плавание f[off + 1]
, и так далее. Порядок байтов потока используется, чтобы определить порядок, в котором пишутся отдельные байты. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
f
- массив float
s, чтобы быть записанным.off
- запуск смещается в данных.len
- число float
s, чтобы записать.IndexOutOfBoundsException
- если off
отрицательно, len
отрицательно, или off + len
больше чем f.length
.NullPointerException
- если f
null
.IOException
- если ошибка ввода-вывода происходит.void writeDoubles(double[] d, int off, int len) throws IOException
len
0, ничто не пишется. Двойное d[off]
пишется сначала, тогда двойное d[off + 1]
, и так далее. Порядок байтов потока используется, чтобы определить порядок, в котором пишутся отдельные байты. Если разрядное смещение в потоке является ненулевым, остаток от текущего байта дополняется 0s и выписывается сначала. Разрядное смещение будет 0 после записи.
d
- массив doubles
s, чтобы быть записанным.off
- запуск смещается в данных.len
- число double
s, чтобы записать.IndexOutOfBoundsException
- если off
отрицательно, len
отрицательно, или off + len
больше чем d.length
.NullPointerException
- если d
null
.IOException
- если ошибка ввода-вывода происходит.void writeBit(int bit) throws IOException
Если какие-либо биты определенного байта никогда не устанавливались в то время, когда байт сбрасывается месту назначения, те биты будут установлены в 0 автоматически.
bit
- int
чей младший значащий бит должен быть записан потоку.IOException
- если ошибка ввода-вывода происходит.void writeBits(long bits, int numBits) throws IOException
numBits
младшие значащие биты bits
параметр в слева направо упорядочивает к потоку при текущем разрядном смещении в пределах текущей позиции байта. Верхнее 64 - numBits
биты параметра игнорируются. Разрядное смещение совершенствуется numBits
и уменьшенный по модулю 8. Отметьте, что маленькое смещение 0 всегда указывает на старший значащий бит байта, и байты битов выписываются в последовательности, поскольку с ними встречаются. Таким образом разрядные записи находятся всегда эффективно в сетевом порядке байтов. Фактическая потоковая установка порядка байтов игнорируется. Разрядные данные не могут быть накоплены в памяти неопределенно, до flushBefore
вызывается. Тогда, все разрядные данные до сброшенной позиции будут записаны.
Если какие-либо биты определенного байта никогда не устанавливались в то время, когда байт сбрасывается месту назначения, те биты будут установлены в 0 автоматически.
bits
- a long
содержа биты, которые будут записаны, запускаясь с бита в позиции numBits - 1
вниз к младшему значащему биту.numBits
- int
между 0 и 64, включительно.IllegalArgumentException
- если numBits
не между 0 и 64, включительно.IOException
- если ошибка ввода-вывода происходит.void flushBefore(long pos) throws IOException
OutputStream
или File
. Попытка искать на сброшенную часть потока приведет к IndexOutOfBoundsException
.flushBefore
в интерфейсе ImageInputStream
pos
- a long
содержа длину потокового префикса, который может быть сброшен месту назначения.IndexOutOfBoundsException
- если pos
находится в сброшенной части потока или мимо текущей потоковой позиции.IOException
- если ошибка ввода-вывода происходит.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.