# Class CheckedOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.CheckedOutputStream

All Implemented Interfaces:
  `Closeable, Flushable, AutoCloseable`

public class CheckedOutputStream extends FilterOutputStream
An output stream that also maintains a checksum of the data being written. The checksum can then be used to verify the integrity of the output data.

Since:
  1.1
See Also:
  - `Checksum`

- ## Field Summary

  ### Fields declared in class FilterOutputStream

  `out`
  Modifier and Type
  Field
  Description
  `protected OutputStream`
  `out`
  The underlying output stream to be filtered.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CheckedOutputStream(OutputStream out, Checksum cksum)`
  Creates an output stream with the specified Checksum.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Checksum`
  `getChecksum()`
  Returns the Checksum for this output stream.
  `void`
  `write(byte[] b, int off, int len)`
  Writes an array of bytes.
  `void`
  `write(int b)`
  Writes a byte.

  ### Methods declared in class FilterOutputStream

  `close, flush, write`
  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes this output stream and releases any system resources associated with the stream.
  `void`
  `flush()`
  Flushes this output stream and forces any buffered output bytes to be written out to the stream.
  `void`
  `write(byte[] b)`
  Writes `b.length` bytes to this output stream.

  ### Methods declared in class OutputStream

  `nullOutputStream`
  Modifier and Type
  Method
  Description
  `static OutputStream`
  `nullOutputStream()`
  Returns a new `OutputStream` which discards all bytes.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### CheckedOutputStream

    public CheckedOutputStream(OutputStream out, Checksum cksum)
    Creates an output stream with the specified Checksum.
    Parameters:
      `out` - the output stream
      `cksum` - the checksum

- ## Method Details

  - ### write

    public void write(int b) throws IOException
    Writes a byte. Will block until the byte is actually written.
    Overrides:
      `write` in class `FilterOutputStream`
    Parameters:
      `b` - the byte to be written
    Throws:
      `IOException` - if an I/O error has occurred

  - ### write

    public void write(byte[] b, int off, int len) throws IOException
    Writes an array of bytes. Will block until the bytes are actually written.
    Overrides:
      `write` in class `FilterOutputStream`
    Parameters:
      `b` - the data to be written
      `off` - the start offset of the data
      `len` - the number of bytes to be written
    Throws:
      `IOException` - if an I/O error has occurred
    See Also:
      - `FilterOutputStream.write(int)`

  - ### getChecksum

    public Checksum getChecksum()
    Returns the Checksum for this output stream.
    Returns:
      the Checksum