Spec-Zone.ru › OpenJDK 25

Класс 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
Количество байтов, записанных в поток вывода данных на данный момент.

Поля, объявленные в классе 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 независимым от платформы способом.

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

close, write

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

nullOutputStream

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

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

Методы, объявленные в интерфейсе 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 — byte, который требуется записать.
Исключения:
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.
Определено в:
writeBytes в интерфейсе DataOutput
Параметры:
s — строка байтов для записи.
Исключения:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • FilterOutputStream.out

writeChars

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

writeUTF

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

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

Определено в:
writeUTF в интерфейсе DataOutput
Параметры:
str — строка для записи.
Исключения:
UTFDataFormatException — если длина кодировки str в модифицированной UTF-8 превышает 65535 байт
IOException — если возникает другая ошибка ввода-вывода.
См. также:
  • writeChars(String)

size

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания, предназначенные для разработчиков, с общими обзорами, определениями терминов, обходными решениями и рабочими примерами кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/DataOutputStream.html

Spec-Zone.ru

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