org.apache.commons.io.output

Class CountingOutputStream


public class CountingOutputStream
extends ProxyOutputStream

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.

Version:
$Id: CountingOutputStream.java 471628 2006-11-06 04:06:45Z bayard $

Field Summary

private long
count
The count of bytes that have passed.

Constructor Summary

CountingOutputStream(OutputStream out)
Constructs a new CountingOutputStream.

Method Summary

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.

Methods inherited from class org.apache.commons.io.output.ProxyOutputStream

close, flush, write, write, write

Field Details

count

private long count
The count of bytes that have passed.

Constructor Details

CountingOutputStream

public CountingOutputStream(OutputStream out)
Constructs a new CountingOutputStream.
Parameters:
out - the OutputStream to write to

Method Details

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.

Returns:
the number of bytes accumulated
Since:
Commons IO 1.3

getCount

public int getCount()
Returns:
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.

Returns:
the count previous to resetting
Since:
Commons IO 1.3

resetCount

public int resetCount()
Returns:
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.
Overrides:
write in interface ProxyOutputStream
Parameters:
b - the bytes to write, not null
See Also:
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.
Overrides:
write in interface ProxyOutputStream
Parameters:
b - the bytes to write, not null
off - the start offset in the buffer
len - the maximum number of bytes to write
See Also:
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.
Overrides:
write in interface ProxyOutputStream
Parameters:
b - the byte to write
See Also:
java.io.OutputStream.write(int)

Copyright (c) 2002-2009 Apache Software Foundation