java.lang.Object
java.io.OutputStream
org.apache.derby.iapi.services.io.CounterOutputStream
- All Implemented Interfaces:
- Limit
- public class CounterOutputStream
- extends java.io.OutputStream
- implements Limit
An OutputStream that simply provides methods to count the number
of bytes written to an underlying stream.
|
Constructor Summary |
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 Summary |
int |
clearLimit()
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 |
setOutputStream(java.io.OutputStream out)
|
void |
write(byte[] b)
Add b.length to the count. |
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.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
out
protected java.io.OutputStream out
count
private int count
limit
private int limit
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.
setOutputStream
public void setOutputStream(java.io.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
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
write
public void write(int b)
throws java.io.IOException
- Add 1 to the count.
write
public void write(byte[] b)
throws java.io.IOException
- Add b.length to the count.
write
public void write(byte[] b,
int off,
int len)
throws java.io.IOException
- Add len to the count, discard the data.