- All Implemented Interfaces:
Closeable,DataOutput,Flushable,AutoCloseable
A DataOutputStream is not safe for use by multiple concurrent threads. If a DataOutputStream is to be used by more than one thread then access to the data output stream should be controlled by appropriate synchronization.
- Since:
- 1.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intThe number of bytes written to the data output stream so far.Fields declared in class java.io.FilterOutputStream
out -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new data output stream to write data to the specified underlying output stream. -
Method Summary
Modifier and TypeMethodDescriptionvoidflush()Flushes this data output stream.final intsize()Returns the current value of the counterwritten, the number of bytes written to this data output stream so far.voidwrite(byte[] b, int off, int len) Writeslenbytes from the specified byte array starting at offsetoffto the underlying output stream.voidwrite(int b) Writes the specified byte (the low eight bits of the argumentb) to the underlying output stream.final voidwriteBoolean(boolean v) Writes abooleanto the underlying output stream as a 1-byte value.final voidwriteByte(int v) Writes out abyteto the underlying output stream as a 1-byte value.final voidwriteBytes(String s) Writes out the string to the underlying output stream as a sequence of bytes.final voidwriteChar(int v) Writes acharto the underlying output stream as a 2-byte value, high byte first.final voidwriteChars(String s) Writes a string to the underlying output stream as a sequence of characters.final voidwriteDouble(double v) Converts the double argument to alongusing thedoubleToLongBitsmethod in classDouble, and then writes thatlongvalue to the underlying output stream as an 8-byte quantity, high byte first.final voidwriteFloat(float v) Converts the float argument to anintusing thefloatToIntBitsmethod in classFloat, and then writes thatintvalue to the underlying output stream as a 4-byte quantity, high byte first.final voidwriteInt(int v) Writes anintto the underlying output stream as four bytes, high byte first.final voidwriteLong(long v) Writes alongto the underlying output stream as eight bytes, high byte first.final voidwriteShort(int v) Writes ashortto the underlying output stream as two bytes, high byte first.final voidWrites a string to the underlying output stream using modified UTF-8 encoding in a machine-independent manner.Methods declared in class java.io.FilterOutputStream
close, writeMethods declared in class java.io.OutputStream
nullOutputStreamMethods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface java.io.DataOutput
write
-
Field Details
-
written
protected int writtenThe number of bytes written to the data output stream so far. If this counter overflows, it will be wrapped to Integer.MAX_VALUE.
-
-
Constructor Details
-
DataOutputStream
Creates a new data output stream to write data to the specified underlying output stream. The counterwrittenis set to zero.- Parameters:
out- the underlying output stream, to be saved for later use.- See Also:
-
-
Method Details
-
write
Writes the specified byte (the low eight bits of the argumentb) to the underlying output stream. If no exception is thrown, the counterwrittenis incremented by1.Implements the
writemethod ofOutputStream.- Specified by:
writein interfaceDataOutput- Overrides:
writein classFilterOutputStream- Parameters:
b- thebyteto be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
write
Writeslenbytes from the specified byte array starting at offsetoffto the underlying output stream. If no exception is thrown, the counterwrittenis incremented bylen.- Specified by:
writein interfaceDataOutput- Overrides:
writein classFilterOutputStream- Parameters:
b- the data.off- the start offset in the data.len- the number of bytes to write.- Throws:
IOException- if an I/O error occurs.IndexOutOfBoundsException- Ifoffis negative,lenis negative, orlenis greater thanb.length - off- See Also:
-
flush
Flushes this data output stream. This forces any buffered output bytes to be written out to the stream.The
flushmethod ofDataOutputStreamcalls theflushmethod of its underlying output stream.- Specified by:
flushin interfaceFlushable- Overrides:
flushin classFilterOutputStream- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeBoolean
Writes abooleanto the underlying output stream as a 1-byte value. The valuetrueis written out as the value(byte)1; the valuefalseis written out as the value(byte)0. If no exception is thrown, the counterwrittenis incremented by1.- Specified by:
writeBooleanin interfaceDataOutput- Parameters:
v- abooleanvalue to be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeByte
Writes out abyteto the underlying output stream as a 1-byte value. If no exception is thrown, the counterwrittenis incremented by1.- Specified by:
writeBytein interfaceDataOutput- Parameters:
v- abytevalue to be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeShort
Writes ashortto the underlying output stream as two bytes, high byte first. If no exception is thrown, the counterwrittenis incremented by2.- Specified by:
writeShortin interfaceDataOutput- Parameters:
v- ashortto be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeChar
Writes acharto the underlying output stream as a 2-byte value, high byte first. If no exception is thrown, the counterwrittenis incremented by2.- Specified by:
writeCharin interfaceDataOutput- Parameters:
v- acharvalue to be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeInt
Writes anintto the underlying output stream as four bytes, high byte first. If no exception is thrown, the counterwrittenis incremented by4.- Specified by:
writeIntin interfaceDataOutput- Parameters:
v- anintto be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeLong
Writes alongto the underlying output stream as eight bytes, high byte first. In no exception is thrown, the counterwrittenis incremented by8.- Specified by:
writeLongin interfaceDataOutput- Parameters:
v- alongto be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeFloat
Converts the float argument to anintusing thefloatToIntBitsmethod in classFloat, and then writes thatintvalue to the underlying output stream as a 4-byte quantity, high byte first. If no exception is thrown, the counterwrittenis incremented by4.- Specified by:
writeFloatin interfaceDataOutput- Parameters:
v- afloatvalue to be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeDouble
Converts the double argument to alongusing thedoubleToLongBitsmethod in classDouble, and then writes thatlongvalue to the underlying output stream as an 8-byte quantity, high byte first. If no exception is thrown, the counterwrittenis incremented by8.- Specified by:
writeDoublein interfaceDataOutput- Parameters:
v- adoublevalue to be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeBytes
Writes out the string to the underlying output stream as a sequence of bytes. Each character in the string is written out, in sequence, by discarding its high eight bits. If no exception is thrown, the counterwrittenis incremented by the length ofs.- Specified by:
writeBytesin interfaceDataOutput- Parameters:
s- a string of bytes to be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeChars
Writes a string to the underlying output stream as a sequence of characters. Each character is written to the data output stream as if by thewriteCharmethod. If no exception is thrown, the counterwrittenis incremented by twice the length ofs.- Specified by:
writeCharsin interfaceDataOutput- Parameters:
s- aStringvalue to be written.- Throws:
IOException- if an I/O error occurs.- See Also:
-
writeUTF
Writes a string to the underlying output stream using modified UTF-8 encoding in a machine-independent manner.First, two bytes are written to the output stream as if by the
writeShortmethod giving the number of bytes to follow. This value is the number of bytes actually written out, not the length of the string. Following the length, each character of the string is output, in sequence, using the modified UTF-8 encoding for the character. If no exception is thrown, the counterwrittenis incremented by the total number of bytes written to the output stream. This will be at least two plus the length ofstr, and at most two plus thrice the length ofstr.- Specified by:
writeUTFin interfaceDataOutput- Parameters:
str- a string to be written.- Throws:
UTFDataFormatException- if the modified UTF-8 encoding ofstrwould exceed 65535 bytes in lengthIOException- if some other I/O error occurs.- See Also:
-
size
public final int size()Returns the current value of the counterwritten, the number of bytes written to this data output stream so far. If the counter overflows, it will be wrapped to Integer.MAX_VALUE.- Returns:
- the value of the
writtenfield. - See Also:
-