Class CounterOutputStream

java.lang.Object
java.io.OutputStream
org.apache.derby.iapi.services.io.CounterOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable, Limit

public class CounterOutputStream extends OutputStream implements Limit
An OutputStream that simply provides methods to count the number of bytes written to an underlying stream.
  • Field Details

    • out

      protected OutputStream out
    • count

      private int count
    • limit

      private int limit
  • Constructor Details

    • CounterOutputStream

      public CounterOutputStream()
      Create a CounterOutputStream that will discard any bytes written but still coutn them and call its reset method so that the count is intially zero.
  • Method Details

    • setOutputStream

      public void setOutputStream(OutputStream out)
    • getCount

      public int getCount()
      Get count of bytes written to the stream since the last reset() call.
    • setLimit

      public void setLimit(int limit)
      Set a limit at which an exception will be thrown. This allows callers to count the number of bytes up to some point, without having to complete the count. E.g. a caller may only want to see if some object will write out over 4096 bytes, without waiting for all 200,000 bytes of the object to be written.
      If the passed in limit is 0 or negative then the stream will count bytes without throwing an exception.
      Specified by:
      setLimit in interface Limit
      See Also:
    • clearLimit

      public int clearLimit()
      Description copied from interface: Limit
      Clear any limit set by setLimit. After this call no limit checking will be made on any read until a setLimit()) call is made.
      Specified by:
      clearLimit in interface Limit
      Returns:
      the number of bytes within the limit that have not been read or written.
    • write

      public void write(int b) throws IOException
      Add 1 to the count.
      Specified by:
      write in class OutputStream
      Throws:
      IOException
      See Also:
    • write

      public void write(byte[] b, int off, int len) throws IOException
      Add len to the count, discard the data.
      Overrides:
      write in class OutputStream
      Throws:
      IOException
      See Also: