Class CounterOutputStream
java.lang.Object
java.io.OutputStream
org.apache.derby.iapi.services.io.CounterOutputStream
- All Implemented Interfaces:
Closeable, Flushable, AutoCloseable, Limit
An OutputStream that simply provides methods to count the number
of bytes written to an underlying stream.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreate 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 Summary
Modifier and TypeMethodDescriptionintClear any limit set by setLimit.intgetCount()Get count of bytes written to the stream since the last reset() call.voidsetLimit(int limit) Set a limit at which an exception will be thrown.voidvoidwrite(byte[] b, int off, int len) Add len to the count, discard the data.voidwrite(int b) Add 1 to the count.Methods inherited from class OutputStream
close, flush, nullOutputStream, write
-
Field Details
-
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
-
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. -
clearLimit
public int clearLimit()Description copied from interface:LimitClear 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:
clearLimitin interfaceLimit- Returns:
- the number of bytes within the limit that have not been read or written.
-
write
Add 1 to the count.- Specified by:
writein classOutputStream- Throws:
IOException- See Also:
-
write
Add len to the count, discard the data.- Overrides:
writein classOutputStream- Throws:
IOException- See Also:
-