# Class DataOutputStream

java.lang.Object
java.io.OutputStream
java.io.DataOutputStream

All Implemented Interfaces:
  `DataOutput, AutoCloseable`

public class DataOutputStream extends OutputStream implements DataOutput
A data output stream lets an application write primitive Java data types to an output stream in a portable way. An application can then use a data input stream to read the data back in. Since: JDK1.0, CLDC 1.0 See Also:DataInputStream

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected OutputStream`
  `out`
  The output stream.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DataOutputStream(OutputStream out)`
  Creates a new data output stream to write data to the specified underlying output stream.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes this output stream and releases any system resources associated with the stream.
  `void`
  `flush()`
  Flushes this data output stream.
  `void`
  `write(byte[] b, int off, int len)`
  Writes len bytes from the specified byte array starting at offset off to the underlying output stream.
  `void`
  `write(int b)`
  Writes the specified byte (the low eight bits of the argument b) to the underlying output stream.
  `final void`
  `writeBoolean(boolean v)`
  Writes a boolean to the underlying output stream as a 1-byte value.
  `final void`
  `writeByte(int v)`
  Writes out a byte to the underlying output stream as a 1-byte value.
  `final void`
  `writeChar(int v)`
  Writes a char to the underlying output stream as a 2-byte value, high byte first.
  `final void`
  `writeChars(String s)`
  Writes a string to the underlying output stream as a sequence of characters.
  `final void`
  `writeDouble(double v)`
  Converts the double argument to a long using the doubleToLongBits method in class Double, and then writes that long value to the underlying output stream as an 8-byte quantity, high byte first.
  `final void`
  `writeFloat(float v)`
  Converts the float argument to an int using the floatToIntBits method in class Float, and then writes that int value to the underlying output stream as a 4-byte quantity, high byte first.
  `final void`
  `writeInt(int v)`
  Writes an int to the underlying output stream as four bytes, high byte first.
  `final void`
  `writeLong(long v)`
  Writes a long to the underlying output stream as eight bytes, high byte first.
  `final void`
  `writeShort(int v)`
  Writes a short to the underlying output stream as two bytes, high byte first.
  `final void`
  `writeUTF(String str)`
  Writes a string to the underlying output stream using UTF-8 encoding in a machine-independent manner.

  ### Methods inherited from class OutputStream

  `write`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface DataOutput

  `write`

- ## Field Details

  - ### out

    protected OutputStream out
    The output stream.

- ## Constructor Details

  - ### DataOutputStream

    public DataOutputStream(OutputStream out)
    Creates a new data output stream to write data to the specified underlying output stream. out - the underlying output stream, to be saved for later use.

- ## Method Details

  - ### close

    public void close() throws IOException
    Closes this output stream and releases any system resources associated with the stream. The close method calls its flush method, and then calls the close method of its underlying output stream.
    Specified by:
      `close` in interface `AutoCloseable`
    Overrides:
      `close` in class `OutputStream`
    Throws:
      `IOException`

  - ### flush

    public void flush() throws IOException
    Flushes this data output stream. This forces any buffered output bytes to be written out to the stream. The flush method of DataOutputStream calls the flush method of its underlying output stream.
    Overrides:
      `flush` in class `OutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(byte[] b, int off, int len) throws IOException
    Writes len bytes from the specified byte array starting at offset off to the underlying output stream.
    Specified by:
      `write` in interface `DataOutput`
    Overrides:
      `write` in class `OutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(int b) throws IOException
    Writes the specified byte (the low eight bits of the argument b) to the underlying output stream. Implements the write method of OutputStream.
    Specified by:
      `write` in interface `DataOutput`
    Specified by:
      `write` in class `OutputStream`
    Throws:
      `IOException`

  - ### writeBoolean

    public final void writeBoolean(boolean v) throws IOException
    Writes a boolean to the underlying output stream as a 1-byte value. The value true is written out as the value (byte)1; the value false is written out as the value (byte)0.
    Specified by:
      `writeBoolean` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeByte

    public final void writeByte(int v) throws IOException
    Writes out a byte to the underlying output stream as a 1-byte value.
    Specified by:
      `writeByte` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeChar

    public final void writeChar(int v) throws IOException
    Writes a char to the underlying output stream as a 2-byte value, high byte first.
    Specified by:
      `writeChar` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeChars

    public final void writeChars(String s) throws IOException
    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 the writeChar method.
    Specified by:
      `writeChars` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeDouble

    public final void writeDouble(double v) throws IOException
    Converts the double argument to a long using the doubleToLongBits method in class Double, and then writes that long value to the underlying output stream as an 8-byte quantity, high byte first.
    Specified by:
      `writeDouble` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeFloat

    public final void writeFloat(float v) throws IOException
    Converts the float argument to an int using the floatToIntBits method in class Float, and then writes that int value to the underlying output stream as a 4-byte quantity, high byte first.
    Specified by:
      `writeFloat` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeInt

    public final void writeInt(int v) throws IOException
    Writes an int to the underlying output stream as four bytes, high byte first.
    Specified by:
      `writeInt` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeLong

    public final void writeLong(long v) throws IOException
    Writes a long to the underlying output stream as eight bytes, high byte first.
    Specified by:
      `writeLong` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeShort

    public final void writeShort(int v) throws IOException
    Writes a short to the underlying output stream as two bytes, high byte first.
    Specified by:
      `writeShort` in interface `DataOutput`
    Throws:
      `IOException`

  - ### writeUTF

    public final void writeUTF(String str) throws IOException
    Writes a string to the underlying output stream using UTF-8 encoding in a machine-independent manner. First, two bytes are written to the output stream as if by the writeShort method 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 UTF-8 encoding for the character.
    Specified by:
      `writeUTF` in interface `DataOutput`
    Throws:
      `IOException`