Spec-Zone.ru › OpenJDK 24

Класс DataOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.DataOutputStream
Все реализуемые интерфейсы:
Closeable, DataOutput, Flushable, AutoCloseable
public class DataOutputStream extends FilterOutputStream implements DataOutput
Поток данных для вывода позволяет приложению записывать примитивные типы данных Java в поток вывода портативным способом. Затем приложение может использовать поток данных для ввода для повторного считывания данных. Поток данных для вывода оборачивает другой поток вывода и делегирует запись байтов методам записи этого потока вывода. Запись данных, состоящих более чем из одного байта, может привести к нескольким записям в базовом потоке вывода.

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

С момента:
1.0
См. также:
  • DataInputStream

Краткое описание полей

Модификатор и тип Поле Описание
protected int written
Количество байтов, записанных в поток данных для вывода до сих пор.

Поля, объявленные в классе java.io.FilterOutputStream

out

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

Конструктор Описание
DataOutputStream(OutputStream out)
Создает новый поток данных для вывода для записи данных в указанный базовый поток вывода.

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

Модификатор и тип Метод Описание
void flush()
Очищает этот поток данных для вывода.
final int size()
Возвращает текущее значение счетчика written, количество байтов, записанных в этот поток данных для вывода до сих пор.
void write(byte[] b, int off, int len)
Записывает len байтов из указанного массива байтов, начиная со смещения off, в базовый поток вывода.
void write(int b)
Записывает указанный байт (нижние восемь битов аргумента b) в базовый поток вывода.
final void writeBoolean(boolean v)
Записывает boolean в базовый поток вывода в виде значения 1 байт.
final void writeByte(int v)
Записывает byte в базовый поток вывода в виде значения 1 байт.
final void writeBytes(String s)
Записывает строку в базовый поток вывода в виде последовательности байтов.
final void writeChar(int v)
Записывает char в базовый поток вывода в виде значения 2 байта, сначала старший байт.
final void writeChars(String s)
Записывает строку в базовый поток вывода в виде последовательности символов.
final void writeDouble(double v)
Преобразует аргумент double в long с помощью метода doubleToLongBits в классе Double, а затем записывает это значение long в базовый поток вывода как 8-байтовое значение, начиная со старшего байта.
final void writeFloat(float v)
Преобразует аргумент float в int с помощью метода floatToIntBits в классе Float, а затем записывает это значение int в базовый поток вывода как 4-байтовое значение, начиная со старшего байта.
final void writeInt(int v)
Записывает int в базовый поток вывода в виде четырёх байтов, начиная со старшего байта.
final void writeLong(long v)
Записывает long в базовый поток вывода в виде восьми байтов, начиная со старшего байта.
final void writeShort(int v)
Записывает short в базовый поток вывода в виде двух байтов, начиная со старшего байта.
final void writeUTF(String str)
Записывает строку в базовый поток вывода с использованием кодировки изменённого UTF-8 независимым от машины способом.

Методы, объявленные в классе java.io.FilterOutputStream

close, write

Методы, объявленные в классе java.io.OutputStream

nullOutputStream

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе java.io.DataOutput

write

Подробное описание полей

written

protected int written
Количество байтов, записанных в поток данных до сих пор. Если этот счётчик переполняется, он будет обернут до Integer.MAX_VALUE.

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

DataOutputStream

public DataOutputStream(OutputStream out)
Создает новый поток вывода данных для записи данных в указанный поток вывода. Счётчик written устанавливается в ноль.
Параметры:
out - базовый поток вывода, который необходимо сохранить для последующего использования.
См. также:
  • FilterOutputStream.out

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

write

public void write(int b) throws IOException
Записывает указанный байт (нижние восемь бит аргумента b) в базовый поток вывода. Если исключение не выбрасывается, счётчик written увеличивается на 1.

Реализует метод write интерфейса OutputStream.

Определено в:
write в интерфейсе DataOutput
Переопределяет:
write в классе FilterOutputStream
Параметры:
b - байт, подлежащий записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out

write

public void write(byte[] b, int off, int len) throws IOException
Записывает len байта из указанного массива байтов, начиная с смещения off, в базовый поток вывода. Если исключение не выбрасывается, счётчик written увеличивается на len.
Определено в:
write в интерфейсе DataOutput
Переопределяет:
write в классе FilterOutputStream
Параметры:
b - данные.
off - начальное смещение в данных.
len - количество байтов для записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
IndexOutOfBoundsException - Если off отрицательно, len отрицательно или len больше, чем b.length - off
См. также:
  • FilterOutputStream.out

flush

public void flush() throws IOException
Очищает этот поток вывода данных. Это заставляет любые буферизованные байты вывода быть записанными в поток.

Метод flush класса DataOutputStream вызывает метод flush его базового потока вывода.

Определено в:
flush в интерфейсе Flushable
Переопределяет:
flush в классе FilterOutputStream
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out
  • OutputStream.flush()

writeBoolean

public final void writeBoolean(boolean v) throws IOException
Записывает boolean в базовый поток вывода в виде значения 1 байта. Значение true записывается как значение (byte)1; значение false записывается как значение (byte)0. Если исключение не выбрасывается, счётчик written увеличивается на 1.
Определено в:
writeBoolean в интерфейсе DataOutput
Параметры:
v - значение типа boolean, подлежащее записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out

writeByte

public final void writeByte(int v) throws IOException
Записывает byte в базовый поток вывода в виде значения 1 байта. Если исключение не выбрасывается, счётчик written увеличивается на 1.
Определено в:
writeByte в интерфейсе DataOutput
Параметры:
v - значение типа byte, подлежащее записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out

writeShort

public final void writeShort(int v) throws IOException
Записывает short в базовый поток вывода в виде двух байтов, старший байт первым. Если исключение не выбрасывается, счётчик written увеличивается на 2.
Определено в:
writeShort в интерфейсе DataOutput
Параметры:
v - short, подлежащий записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out

writeChar

public final void writeChar(int v) throws IOException
Записывает char в базовый поток вывода в виде значения из 2 байтов, старший байт первым. Если исключение не выбрасывается, счётчик written увеличивается на 2.
Определено в:
writeChar в интерфейсе DataOutput
Параметры:
v - значение типа char, подлежащее записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out

writeInt

public final void writeInt(int v) throws IOException
Записывает int в базовый поток вывода в виде четырёх байтов, старший байт первым. Если исключение не выбрасывается, счётчик written увеличивается на 4.
Определено в:
writeInt в интерфейсе DataOutput
Параметры:
v - int, подлежащий записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out

writeLong

public final void writeLong(long v) throws IOException
Записывает long в базовый поток вывода в виде восьми байтов, старший байт первым. Если исключение не выбрасывается, счётчик written увеличивается на 8.
Определено в:
writeLong в интерфейсе DataOutput
Параметры:
v - long, подлежащий записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out

writeFloat

public final void writeFloat(float v) throws IOException
Преобразует аргумент типа float в int, используя метод floatToIntBits класса Float, а затем записывает это значение int в базовый поток вывода в качестве 4-байтового числа, старший байт первым. Если исключение не выбрасывается, счётчик written увеличивается на 4.
Определено в:
writeFloat в интерфейсе DataOutput
Параметры:
v - значение типа float, подлежащее записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out
  • Float.floatToIntBits(float)

writeDouble

public final void writeDouble(double v) throws IOException
Преобразует аргумент типа double в long, используя метод doubleToLongBits класса Double, а затем записывает это значение long в базовый поток вывода в качестве 8-байтового числа, старший байт первым. Если исключение не выбрасывается, счётчик written увеличивается на 8.
Определено в:
writeDouble в интерфейсе DataOutput
Параметры:
v - значение типа double, подлежащее записи.
Исключения:
IOException - если произошла ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out
  • Double.doubleToLongBits(double)

writeBytes

public final void writeBytes(String s) throws IOException
Записывает строку в базовый выходной поток в виде последовательности байтов. Каждый символ строки записывается последовательно, отбрасывая его старшие восемь бит. Если исключение не выброшено, счётчик written увеличивается на длину s.
Specified by:
writeBytes in interface DataOutput
Parameters:
s - строка байтов, подлежащая записи.
Throws:
IOException - если произошла ошибка ввода-вывода.
See Also:
  • FilterOutputStream.out

writeChars

public final void writeChars(String s) throws IOException
Записывает строку в базовый выходной поток в виде последовательности символов. Каждый символ записывается в поток данных, как если бы это делалось методом writeChar. Если исключение не выброшено, счётчик written увеличивается вдвое по сравнению с длиной s.
Specified by:
writeChars in interface DataOutput
Parameters:
s - значение String, которое должно быть записано.
Throws:
IOException - если произошла ошибка ввода-вывода.
See Also:
  • writeChar(int)
  • FilterOutputStream.out

writeUTF

public final void writeUTF(String str) throws IOException
Записывает строку в базовый выходной поток, используя кодировку модифицированного UTF-8 для обеспечения независимости от машины.

Сначала в выходной поток записываются два байта, как если бы это делалось методом writeShort, задавая количество следующих байтов. Это значение равно количеству фактически записанных байтов, а не длине строки. После длины каждый символ строки выводится последовательно, используя кодировку модифицированного UTF-8 для символа. Если исключение не выброшено, счётчик written увеличивается на общее количество байтов, записанных в выходной поток. Это значение будет по крайней мере на два больше длины str, и не более чем на два больше утроенной длины str.

Specified by:
writeUTF in interface DataOutput
Parameters:
str - строка, которая должна быть записана.
Throws:
UTFDataFormatException - если кодирование модифицированного UTF-8 str превысит 65535 байт в длину
IOException - если произошла какая-либо другая ошибка ввода-вывода.
See Also:
  • writeChars(String)

size

public final int size()
Возвращает текущее значение счётчика written, количество байтов, записанных в этот поток данных до сих пор. Если счётчик переполняется, он обнуляется до Integer.MAX_VALUE.
Returns:
значение поля written.
See Also:
  • written

© 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/DataOutputStream.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API