Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.io.output
Class CountingOutputStream

    java.lang.Object
      java.io.OutputStream
          java.io.FilterOutputStream
              org.apache.commons.io.output.ProxyOutputStream
                  org.apache.commons.io.output.CountingOutputStream

All Implemented Interfaces:
  Closeable, Flushable

    public class CountingOutputStream

extends ProxyOutputStream

A decorating output stream that counts the number of bytes that have passed through the stream so far.

A typical use case would be during debugging, to ensure that data is being written as expected.

Version:
  $Id: CountingOutputStream.java 1304052 2012-03-22 20:55:29Z ggregory $

Field Summary

Fields inherited from class java.io.FilterOutputStream
`out`

Constructor Summary
`CountingOutputStream(OutputStream out)` Constructs a new CountingOutputStream.

Method Summary
`protected void` | `beforeWrite(int n)` Updates the count with the number of bytes that are being written.
`long` | `getByteCount()` The number of bytes that have passed through this stream.
`int` | `getCount()` The number of bytes that have passed through this stream.
`long` | `resetByteCount()` Set the byte count back to 0.
`int` | `resetCount()` Set the byte count back to 0.

Methods inherited from class org.apache.commons.io.output.ProxyOutputStream
`afterWrite, close, flush, handleIOException, write, write, write`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CountingOutputStream

    public CountingOutputStream(OutputStream out)

  Constructs a new CountingOutputStream.

  Parameters:
    `out` - the OutputStream to write to

Method Detail

### beforeWrite

    protected void beforeWrite(int n)

  Updates the count with the number of bytes that are being written.

  Overrides:
    `beforeWrite` in class `ProxyOutputStream`
  Parameters:
    `n` - number of bytes to be written to the stream
  Since:
    2.0

### getCount

    public int getCount()

  The number of bytes that have passed through this stream.

  NOTE: From v1.3 this method throws an ArithmeticException if the count is greater than can be expressed by an `int`. See `getByteCount()` for a method using a `long`.

  Returns:
    the number of bytes accumulated
  Throws:
    `ArithmeticException` - if the byte count is too large

### resetCount

    public int resetCount()

  Set the byte count back to 0.

  NOTE: From v1.3 this method throws an ArithmeticException if the count is greater than can be expressed by an `int`. See `resetByteCount()` for a method using a `long`.

  Returns:
    the count previous to resetting
  Throws:
    `ArithmeticException` - if the byte count is too large

### getByteCount

    public long getByteCount()

  The number of bytes that have passed through this stream.

  NOTE: This method is an alternative for `getCount()`. It was added because that method returns an integer which will result in incorrect count for files over 2GB.

  Returns:
    the number of bytes accumulated
  Since:
    1.3

### resetByteCount

    public long resetByteCount()

  Set the byte count back to 0.

  NOTE: This method is an alternative for `resetCount()`. It was added because that method returns an integer which will result in incorrect count for files over 2GB.

  Returns:
    the count previous to resetting
  Since:
    1.3

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.