Module java.base
Package java.util.zip

# 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 java.io.FilterOutputStream

  `out`

- ## 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 java.io.FilterOutputStream

  `close, flush, write`

  ### Methods declared in class java.io.OutputStream

  `nullOutputStream`

  ### Methods declared in class java.lang.Object

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

- ## 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