org.apache.commons.io.output
Class CountingOutputStream
public class CountingOutputStream
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.
$Id: CountingOutputStream.java 471628 2006-11-06 04:06:45Z bayard $private long | count - The count of bytes that have passed.
|
long | getByteCount() - The number of bytes that have passed through this stream.
|
int | getCount() - The number of bytes that have passed through this stream.
|
long | resetByteCount() - Set the byte count back to 0.
|
int | resetCount() - Set the byte count back to 0.
|
void | write(byte[] b) - Writes the contents of the specified byte array to this output stream
keeping count of the number of bytes written.
|
void | write(byte[] b, int off, int len) - Writes a portion of the specified byte array to this output stream
keeping count of the number of bytes written.
|
void | write(int b) - Writes a single byte to the output stream adding to the count of the
number of bytes written.
|
count
private long count
The count of bytes that have passed.
CountingOutputStream
public CountingOutputStream(OutputStream out)
Constructs a new CountingOutputStream.
out
- the OutputStream to write to
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.
- the number of bytes accumulated
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
.
- the number of bytes accumulated
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.
- the count previous to resetting
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
.
- the count previous to resetting
write
public void write(byte[] b)
throws IOException
Writes the contents of the specified byte array to this output stream
keeping count of the number of bytes written.
- write in interface ProxyOutputStream
b
- the bytes to write, not null
java.io.OutputStream.write(byte[])
write
public void write(byte[] b,
int off,
int len)
throws IOException
Writes a portion of the specified byte array to this output stream
keeping count of the number of bytes written.
- write in interface ProxyOutputStream
b
- the bytes to write, not nulloff
- the start offset in the bufferlen
- the maximum number of bytes to write
java.io.OutputStream.write(byte[], int, int)
write
public void write(int b)
throws IOException
Writes a single byte to the output stream adding to the count of the
number of bytes written.
- write in interface ProxyOutputStream
java.io.OutputStream.write(int)