Class CountingOutputStream

  • All Implemented Interfaces:
    Closeable, Flushable, AutoCloseable

    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.

    • Constructor Detail

      • CountingOutputStream

        public CountingOutputStream​(OutputStream out)
        Constructs a new CountingOutputStream.
        Parameters:
        out - the OutputStream to write to
    • Method Detail

      • 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