Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface DataOutput
DataOutput
интерфейс предусматривает преобразование данных от любых из типов примитивов Java к серии байтов и записи этих байтов к двоичному потоку. Есть также средство для того, чтобы преобразовать a String
в измененный формат UTF-8 и запись получающейся серии байтов. Для всех методов в этом интерфейсе, которые пишут байты, это - обычно истина это, если байт не может быть записан ни по какой причине, IOException
бросается.
DataInput
, DataOutputStream
Модификатор и Тип | Метод и Описание |
---|---|
void |
write(byte[] b)
Записи к потоку вывода все байты в массиве
b . |
void |
write(byte[] b, int off, int len)
Записи
len байты от массива b , в порядке, к потоку вывода. |
void |
write(int b)
Записи к потоку вывода восемь битов младшего разряда параметра
b . |
void |
writeBoolean(boolean v)
Записи a
boolean оцените этому потоку вывода. |
void |
writeByte(int v)
Записи к потоку вывода восемь младших разрядов - биты параметра
v . |
void |
writeBytes(String s)
Пишет строка в поток вывода.
|
void |
writeChar(int v)
Записи a
char значение, которое состоит из двух байтов к потоку вывода. |
void |
writeChars(String s)
Пишет каждый символ в строке
s , к потоку вывода, в порядке, два байта за символ. |
void |
writeDouble(double v)
Записи a
double значение, которое состоит из восьми байтов к потоку вывода. |
void |
writeFloat(float v)
Записи a
float значение, которое состоит из четырех байтов к потоку вывода. |
void |
writeInt(int v)
Записи
int значение, которое состоит из четырех байтов к потоку вывода. |
void |
writeLong(long v)
Записи a
long значение, которое состоит из восьми байтов к потоку вывода. |
void |
writeShort(int v)
Записи два байта к потоку вывода, чтобы представить значение параметра.
|
void |
writeUTF(String s)
Записи два байта информации о длине к потоку вывода, сопровождаемому измененным представлением UTF-8 каждого символа в строке
s . |
void write(int b) throws IOException
b
. 24 бита старшего разряда b
игнорируются.b
- байт, который будет записан.IOException
- если ошибка ввода-вывода происходит.void write(byte[] b) throws IOException
b
. Если b
null
, a NullPointerException
бросается. Если b.length
нуль, тогда никакие байты не пишутся. Иначе, байт b[0]
пишется сначала, тогда b[1]
, и так далее; последний записанный байт b[b.length-1]
.b
- данные.IOException
- если ошибка ввода-вывода происходит.void write(byte[] b, int off, int len) throws IOException
len
байты от массива b
, в порядке, к потоку вывода. Если b
null
, a NullPointerException
бросается. Если off
отрицательно, или len
отрицательно, или off+len
больше чем длина массива b
, тогда IndexOutOfBoundsException
бросается. Если len
нуль, тогда никакие байты не пишутся. Иначе, байт b[off]
пишется сначала, тогда b[off+1]
, и так далее; последний записанный байт b[off+len-1]
.b
- данные.off
- запуск смещается в данных.len
- число байтов, чтобы записать.IOException
- если ошибка ввода-вывода происходит.void writeBoolean(boolean v) throws IOException
boolean
оцените этому потоку вывода. Если параметр v
true
, значение (byte)1
пишется; если v
false
, значение (byte)0
пишется. Байт, записанный этим методом, может быть считан readBoolean
метод интерфейса DataInput
, который тогда возвратит a boolean
равный v
.v
- булево, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeByte(int v) throws IOException
v
. 24 бита старшего разряда v
игнорируются. (Это означает это writeByte
делает точно ту же самую вещь как write
для целочисленного параметра.) Байт, записанный этим методом, может быть считан readByte
метод интерфейса DataInput
, который тогда возвратит a byte
равный (byte)v
.v
- значение байта, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeShort(int v) throws IOException
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
Байты, записанные этим методом, могут быть считаны readShort
метод интерфейса DataInput
, который тогда возвратит a short
равный (short)v
.
v
- short
значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeChar(int v) throws IOException
char
значение, которое состоит из двух байтов к потоку вывода. Значения байта, которые будут записаны, в показанном порядке:
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
Байты, записанные этим методом, могут быть считаны readChar
метод интерфейса DataInput
, который тогда возвратит a char
равный (char)v
.
v
- char
значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeInt(int v) throws IOException
int
значение, которое состоит из четырех байтов к потоку вывода. Значения байта, которые будут записаны, в показанном порядке:
(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
Байты, записанные этим методом, могут быть считаны readInt
метод интерфейса DataInput
, который тогда возвратится int
равный v
.
v
- int
значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeLong(long v) throws IOException
long
значение, которое состоит из восьми байтов к потоку вывода. Значения байта, которые будут записаны, в показанном порядке:
(byte)(0xff & (v >> 56))
(byte)(0xff & (v >> 48))
(byte)(0xff & (v >> 40))
(byte)(0xff & (v >> 32))
(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
Байты, записанные этим методом, могут быть считаны readLong
метод интерфейса DataInput
, который тогда возвратит a long
равный v
.
v
- long
значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeFloat(float v) throws IOException
float
значение, которое состоит из четырех байтов к потоку вывода. Это делает это, как будто это сначала преобразовывает это float
оцените int
точно способом Float.floatToIntBits
метод и затем пишет int
значение точно способом writeInt
метод. Байты, записанные этим методом, могут быть считаны readFloat
метод интерфейса DataInput
, который тогда возвратит a float
равный v
.v
- float
значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeDouble(double v) throws IOException
double
значение, которое состоит из восьми байтов к потоку вывода. Это делает это, как будто это сначала преобразовывает это double
оцените a long
точно способом Double.doubleToLongBits
метод и затем пишет long
значение точно способом writeLong
метод. Байты, записанные этим методом, могут быть считаны readDouble
метод интерфейса DataInput
, который тогда возвратит a double
равный v
.v
- double
значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.void writeBytes(String s) throws IOException
s
, взятый в порядке, один байт пишется потоку вывода. Если s
null
, a NullPointerException
бросается. Если s.length
нуль, тогда никакие байты не пишутся. Иначе, символ s[0]
пишется сначала, тогда s[1]
, и так далее; записанный последний знак s[s.length-1]
. Для каждого символа один байт пишется, байт младшего разряда, точно способом writeByte
метод. Старший разряд восемь битов каждого символа в строке игнорируется.
s
- строка байтов, которые будут записаны.IOException
- если ошибка ввода-вывода происходит.void writeChars(String s) throws IOException
s
, к потоку вывода, в порядке, два байта за символ. Если s
null
, a NullPointerException
бросается. Если s.length
нуль, тогда никакие символы не пишутся. Иначе, символ s[0]
пишется сначала, тогда s[1]
, и так далее; записанный последний знак s[s.length-1]
. Для каждого символа два байта фактически пишутся, байт старшего разряда сначала, точно способом writeChar
метод.s
- строковое значение, которое будет записано.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
пишется.
Байты, записанные этим методом, могут быть считаны readUTF
метод интерфейса DataInput
, который тогда возвратит a String
равный s
.
s
- строковое значение, которое будет записано.IOException
- если ошибка ввода-вывода происходит.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92