Package org.apache.commons.compress.utils

# Class CountingOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.commons.compress.utils.CountingOutputStream

All Implemented Interfaces:
  `Closeable`, `Flushable`, `AutoCloseable`

public class CountingOutputStream extends FilterOutputStream
Stream that tracks the number of bytes read.

Since:
  1.3
This class is not thread-safe

- ## Field Summary

  ### Fields inherited from class java.io.FilterOutputStream

  `out`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CountingOutputStream(OutputStream out)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `count(long written)`
  Increments the counter of already written bytes.
  `long`
  `getBytesWritten()`
  Returns the current number of bytes written to this stream.
  `void`
  `write(byte[] b)`
  `void`
  `write(byte[] b, int off, int len)`
  `void`
  `write(int b)`

  ### Methods inherited from class java.io.FilterOutputStream

  `close, flush`

  ### Methods inherited from class java.lang.Object

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

- ## Constructor Details

  - ### CountingOutputStream

    public CountingOutputStream(OutputStream out)

- ## Method Details

  - ### count

    protected void count(long written)
    Increments the counter of already written bytes. Doesn't increment if the EOF has been hit (written == -1)
    Parameters:
      `written` - the number of bytes written

  - ### getBytesWritten

    public long getBytesWritten()
    Returns the current number of bytes written to this stream.
    Returns:
      the number of written bytes

  - ### write

    public void write(byte[] b) throws IOException
    Overrides:
      `write` in class `FilterOutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(byte[] b, int off, int len) throws IOException
    Overrides:
      `write` in class `FilterOutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(int b) throws IOException
    Overrides:
      `write` in class `FilterOutputStream`
    Throws:
      `IOException`