Интерфейс DataOutput
- Все известные подинтерфейсы:
-
ImageOutputStream,ObjectOutput
- Все известные реализующие классы:
-
DataOutputStream,FileCacheImageOutputStream,FileImageOutputStream,ImageOutputStreamImpl,MemoryCacheImageOutputStream,ObjectOutputStream,RandomAccessFile
public interface DataOutput
DataOutput предоставляет возможность преобразования данных из любого из примитивных типов Java в серию байтов и записи этих байтов в двоичный поток. Также имеется возможность преобразования String в формат модифицированной UTF-8 и записи полученной серии байтов. Для всех методов в этом интерфейсе, которые записывают байты, обычно верно, что если байт не может быть записан по какой-либо причине, выбрасывается IOException.
- С тех пор:
- 1.0
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
write |
Записывает в выходной поток все байты в массиве b. |
void |
write |
Записывает len байтов из массива b в выходной поток в порядке следования. |
void |
write |
Записывает в выходной поток восемь младших битов аргумента b. |
void |
writeBoolean |
Записывает значение типа boolean в этот выходной поток. |
void |
writeByte |
Записывает в выходной поток восемь младших битов аргумента v. |
void |
writeBytes |
Записывает строку в выходной поток. |
void |
writeChar |
Записывает значение типа char, которое состоит из двух байтов, в выходной поток. |
void |
writeChars |
Записывает каждый символ в строке s в выходной поток в порядке следования, по два байта на символ. |
void |
writeDouble |
Записывает значение типа double, которое состоит из восьми байтов, в выходной поток. |
void |
writeFloat |
Записывает значение типа float, которое состоит из четырёх байтов, в выходной поток. |
void |
writeInt |
Записывает значение типа int, которое состоит из четырёх байтов, в выходной поток. |
void |
writeLong |
Записывает значение типа long, которое состоит из восьми байтов, в выходной поток. |
void |
writeShort |
Записывает два байта в выходной поток, представляющие значение аргумента. |
void |
writeUTF |
Записывает в выходной поток два байта информации о длине, а затем — представление каждого символа в строке s в формате модифицированной UTF-8. |
Подробное описание методов
write
void write(int b) throws IOException
b. 24 старших бита аргумента b игнорируются.- Параметры:
-
b- байт для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
write
void write(byte[] b) throws IOException
b. Если b равен null, выбрасывается исключение NullPointerException. Если b.length равно нулю, то байты не записываются. В противном случае, сначала записывается байт b[0], затем b[1] и так далее; последний записанный байт - b[b.length-1].- Параметры:
-
b- данные. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
write
void write(byte[] b, int off, int len) throws IOException
len байт из массива b в выходной поток в порядке следования. Если b равно null, выбрасывается исключение NullPointerException. Если off отрицательное, или len отрицательное, или off+len больше длины массива b, выбрасывается исключение IndexOutOfBoundsException. Если len равно нулю, то байты не записываются. В противном случае, сначала записывается байт b[off], затем b[off+1] и так далее; последний записанный байт - b[off+len-1].- Параметры:
-
b- данные. -
off- начальный смещение в данных. -
len- количество байтов для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода. -
IndexOutOfBoundsException- Еслиoffотрицательное,lenотрицательное, илиlenбольшеb.length - off
writeBoolean
void writeBoolean(boolean v) throws IOException
boolean в этот выходной поток. Если аргумент v равен true, записывается значение (byte)1; если v равен false, записывается значение (byte)0. Байты, записанные этим методом, могут быть прочитаны методом readBoolean интерфейса DataInput, который затем вернёт значение типа boolean, равное v.- Параметры:
-
v- булево значение для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeByte
void writeByte(int v) throws IOException
v. 24 старших бита аргумента v игнорируются. (Это означает, что writeByte делает точно то же, что и write для целочисленного аргумента.) Байты, записанные этим методом, могут быть прочитаны методом readByte интерфейса DataInput, который затем вернёт значение типа byte, равное (byte)v.- Параметры:
-
v- значение байта для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeShort
void writeShort(int v) throws IOException
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
Байты, записанные этим методом, могут быть прочитаны методом readShort интерфейса DataInput, который затем вернёт значение типа short, равное (short)v.
- Параметры:
-
v- значениеshortдля записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeChar
void writeChar(int v) throws IOException
char, которое состоит из двух байтов, в выходной поток. Байты, которые будут записаны в указанном порядке, это:
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
Байты, записанные этим методом, могут быть прочитаны методом readChar интерфейса DataInput, который затем вернёт значение типа char, равное (char)v.
- Параметры:
-
v- значение типаcharдля записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeInt
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- если произошла ошибка ввода-вывода.
writeLong
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, который затем вернёт значение типа long, равное v.
- Параметры:
-
v- значение типаlongдля записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeFloat
void writeFloat(float v) throws IOException
float, которое состоит из четырёх байтов, в выходной поток. Это делается так, как будто сначала преобразуется это значение float в значение типа int точно так же, как метод Float.floatToIntBits, а затем записывается значение int точно так же, как метод writeInt. Байты, записанные этим методом, могут быть прочитаны методом readFloat интерфейса DataInput, который затем вернёт значение типа float, равное v.- Параметры:
-
v- значение типаfloatдля записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeDouble
void writeDouble(double v) throws IOException
double, которое состоит из восьми байтов, в выходной поток. Это делается так, как будто сначала преобразуется это значение double в значение типа long точно так же, как метод Double.doubleToLongBits, а затем записывается значение long точно так же, как метод writeLong. Байты, записанные этим методом, могут быть прочитаны методом readDouble интерфейса DataInput, который затем вернёт значение типа double, равное v.- Параметры:
-
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. Старшие восемь битов каждого символа в строке игнорируются.
- Параметры:
-
s- строка байтов для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeChars
void writeChars(String s) throws IOException
s в выходной поток по порядку, по два байта на символ. Если s равен null, выбрасывается исключение NullPointerException. Если s.length равен нулю, символы не записываются. В противном случае, сначала записывается символ s[0], затем s[1] и так далее; последний записанный символ - s[s.length-1]. Для каждого символа записываются два байта, старший байт первым, точно так же, как в методе writeChar.- Параметры:
-
s- строковое значение для записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
writeUTF
void writeUTF(String s) throws IOException
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 в виде последовательности из одного, двух или трёх байтов.
Байты, записанные этим методом, могут быть прочитаны методом readUTF интерфейса DataInput, который затем вернёт String, равное s.
- Параметры:
-
s- значение строки, которое нужно записать. - Исключение:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/DataOutput.html