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 TypeMethodDescriptionint
Clear any limit set by setLimit.int
getCount()
Get count of bytes written to the stream since the last reset() call.void
setLimit
(int limit) Set a limit at which an exception will be thrown.void
void
write
(byte[] b, int off, int len) Add len to the count, discard the data.void
write
(int b) Add 1 to the count.Methods inherited from class java.io.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: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 interfaceLimit
- Returns:
- the number of bytes within the limit that have not been read or written.
-
write
Add 1 to the count.- Specified by:
write
in classOutputStream
- Throws:
IOException
- See Also:
-
write
Add len to the count, discard the data.- Overrides:
write
in classOutputStream
- Throws:
IOException
- See Also:
-