Класс 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 в поток вывода портативным способом. Затем приложение может использовать поток ввода данных для повторного чтения данных.
- С:
- JDK1.0
- См. также:
DataInputStream
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected int |
written Количество байтов, записанных в поток вывода данных до сих пор. |
Поля, унаследованные от класса java.io.FilterOutputStream
out Конструкторы
| Конструктор и описание |
|---|
DataOutputStream(OutputStream out) Создаёт новый поток вывода данных для записи данных в указанный базовый поток вывода. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
flush() Очищает этот поток вывода данных. |
int |
size() Возвращает текущее значение счётчика |
void |
write(byte[] b,
int off,
int len) Записывает |
void |
write(int b) Записывает указанный байт (нижние восемь бит аргумента |
void |
writeBoolean(boolean v) Записывает |
void |
writeByte(int v) Записывает |
void |
writeBytes(String s) Записывает строку в базовый поток вывода как последовательность байтов. |
void |
writeChar(int v) Записывает |
void |
writeChars(String s) Записывает строку в базовый поток вывода как последовательность символов. |
void |
writeDouble(double v) Преобразует аргумент типа double в |
void |
writeFloat(float v) Преобразует аргумент типа float в |
void |
writeInt(int v) Записывает |
void |
writeLong(long v) Записывает |
void |
writeShort(int v) Записывает |
void |
writeUTF(String str) Записывает строку в базовый поток вывода, используя кодировку модифицированного UTF-8 независимо от машины. |
Методы, унаследованные от класса java.io.FilterOutputStream
close, write Методы, унаследованные от класса 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- если произошла ошибка ввода-вывода. - См. также:
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- строка, подлежащая записи. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
size
public final int size()
Возвращает текущее значение счетчика written, количество байтов, записанных в этот поток вывода данных до настоящего момента. Если счетчик переполнится, он будет переходить к значению Integer.MAX_VALUE.
- Возвращает:
- значение поля
written. - См. также:
written
© 1993, 2020, 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.