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 471628 2006-11-06 04:06:45Z bayard $

Field Summary

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

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

Method Summary
`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.
`void` | `write(byte[] b)` Writes the contents of the specified byte array to this output stream keeping count of the number of bytes written.
`void` | `write(byte[] b, int off, int len)` Writes a portion of the specified byte array to this output stream keeping count of the number of bytes written.
`void` | `write(int b)` Writes a single byte to the output stream adding to the count of the number of bytes written.

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

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

### write

    public void write(byte[] b)
               throws IOException

  Writes the contents of the specified byte array to this output stream keeping count of the number of bytes written.

  Overrides:
    `write` in class `ProxyOutputStream`
  Parameters:
    `b` - the bytes to write, not null
  Throws:
    `IOException` - if an I/O error occurs
  See Also:
    `OutputStream.write(byte[])`

### write

    public void write(byte[] b,
                      int off,
                      int len)
               throws IOException

  Writes a portion of the specified byte array to this output stream keeping count of the number of bytes written.

  Overrides:
    `write` in class `ProxyOutputStream`
  Parameters:
    `b` - the bytes to write, not null
    `off` - the start offset in the buffer
    `len` - the maximum number of bytes to write
  Throws:
    `IOException` - if an I/O error occurs
  See Also:
    `OutputStream.write(byte[], int, int)`

### write

    public void write(int b)
               throws IOException

  Writes a single byte to the output stream adding to the count of the number of bytes written.

  Overrides:
    `write` in class `ProxyOutputStream`
  Parameters:
    `b` - the byte to write
  Throws:
    `IOException` - if an I/O error occurs
  See Also:
    `OutputStream.write(int)`

### 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:
    Commons IO 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:
    Commons IO 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-2008 The Apache Software Foundation. All Rights Reserved.