Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Поле Описание
protected OutputStream 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 в нижележащий выходной поток как однобайтовое значение.
final void writeByte(int v)
Записывает значение byte в нижележащий выходной поток как однобайтовое значение.
final void writeBytes(String s)
Записывает строку в нижележащий выходной поток как последовательность байтов.
final void writeChar(int v)
Записывает значение char в нижележащий выходной поток как двухбайтовое значение, начиная со старшего байта.
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
Модификатор и тип Метод Описание
void close()
Закрывает этот выходной поток и освобождает все системные ресурсы, связанные с ним.
void write(byte[] b)
Записывает b.length байтов в этот выходной поток.

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

nullOutputStream
Модификатор и тип Метод Описание
static OutputStream nullOutputStream()
Возвращает новый OutputStream, отбрасывающий все байты.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка времени.

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

write
Модификатор и тип Метод Описание
void write(byte[] b)
Записывает в выходной поток все байты массива b.

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

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 в нижележащий выходной поток как однобайтовое значение. Значение 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 в нижележащий выходной поток как однобайтовое значение. Если исключение не возникло, счетчик 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 в нижележащий выходной поток как двухбайтовое значение, начиная со старшего байта. Если исключение не возникло, счетчик 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 — если длина кодировки модифицированного UTF-8 для str превышает 65535 байтов
IOException — если возникает другая ошибка ввода-вывода.
См. также:
  • writeChars(String)

size

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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