ObjectOutput (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.io, interface: ObjectOutput
Keywords: java.io.ObjectOutput interface

# Interface ObjectOutput

All Superinterfaces:
  `AutoCloseable, DataOutput`

All Known Implementing Classes:
  `ObjectOutputStream`

public interface ObjectOutput extends DataOutput, AutoCloseable
ObjectOutput extends the DataOutput interface to include writing of objects. DataOutput includes methods for output of primitive types, ObjectOutput extends that interface to include objects, arrays, and Strings.

Since:
  1.1
See Also:
  - `InputStream`
  - `ObjectOutputStream`
  - `ObjectInputStream`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes the stream.
  `void`
  `flush()`
  Flushes the stream.
  `void`
  `write(byte[] b)`
  Writes an array of bytes.
  `void`
  `write(byte[] b, int off, int len)`
  Writes a sub array of bytes.
  `void`
  `write(int b)`
  Writes a byte.
  `void`
  `writeObject(Object obj)`
  Write an object to the underlying storage or stream.

  ### Methods declared in interface DataOutput

  `writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF`
  Modifier and Type
  Method
  Description
  `void`
  `writeBoolean(boolean v)`
  Writes a `boolean` value to this output stream.
  `void`
  `writeByte(int v)`
  Writes to the output stream the eight low-order bits of the argument `v`.
  `void`
  `writeBytes(String s)`
  Writes a string to the output stream.
  `void`
  `writeChar(int v)`
  Writes a `char` value, which is comprised of two bytes, to the output stream.
  `void`
  `writeChars(String s)`
  Writes every character in the string `s`, to the output stream, in order, two bytes per character.
  `void`
  `writeDouble(double v)`
  Writes a `double` value, which is comprised of eight bytes, to the output stream.
  `void`
  `writeFloat(float v)`
  Writes a `float` value, which is comprised of four bytes, to the output stream.
  `void`
  `writeInt(int v)`
  Writes an `int` value, which is comprised of four bytes, to the output stream.
  `void`
  `writeLong(long v)`
  Writes a `long` value, which is comprised of eight bytes, to the output stream.
  `void`
  `writeShort(int v)`
  Writes two bytes to the output stream to represent the value of the argument.
  `void`
  `writeUTF(String s)`
  Writes two bytes of length information to the output stream, followed by the modified UTF-8 representation of every character in the string `s`.

- ## Method Details

  - ### writeObject

    void writeObject(Object obj) throws IOException
    Write an object to the underlying storage or stream. The class that implements this interface defines how the object is written.
    Parameters:
      `obj` - the object to be written
    Throws:
      `IOException` - Any of the usual Input/Output related exceptions.

  - ### write

    void write(int b) throws IOException
    Writes a byte. This method will block until the byte is actually written.
    Specified by:
      `write` in interface `DataOutput`
    Parameters:
      `b` - the byte
    Throws:
      `IOException` - If an I/O error has occurred.

  - ### write

    void write(byte[] b) throws IOException
    Writes an array of bytes. This method will block until the bytes are actually written.
    Specified by:
      `write` in interface `DataOutput`
    Parameters:
      `b` - the data to be written
    Throws:
      `IOException` - If an I/O error has occurred.

  - ### write

    void write(byte[] b, int off, int len) throws IOException
    Writes a sub array of bytes.
    Specified by:
      `write` in interface `DataOutput`
    Parameters:
      `b` - the data to be written
      `off` - the start offset in the data
      `len` - the number of bytes that are written
    Throws:
      `IOException` - If an I/O error has occurred.
      `IndexOutOfBoundsException` - If `off` is negative, `len` is negative, or `len` is greater than `b.length - off`

  - ### flush

    void flush() throws IOException
    Flushes the stream. This will write any buffered output bytes.
    Throws:
      `IOException` - If an I/O error has occurred.

  - ### close

    void close() throws IOException
    Closes the stream. This method must be called to release any resources associated with the stream.
    Specified by:
      `close` in interface `AutoCloseable`
    Throws:
      `IOException` - If an I/O error has occurred.