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
longcount
The count of bytes that have passed.
Constructor Summary
CountingOutputStream(OutputStream out)
Constructs a new CountingOutputStream.
Method Summary
longgetByteCount()
The number of bytes that have passed through this stream.
intgetCount()
The number of bytes that have passed through this stream.
longresetByteCount()
Set the byte count back to 0.
intresetCount()
Set the byte count back to 0.
voidwrite(byte[] b)
Writes the contents of the specified byte array to this output stream keeping count of the number of bytes written.
voidwrite(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.
voidwrite(int b)
Writes a single byte to the output stream adding to the count of the number of bytes written.

Field Detail

count

private long count
The count of bytes that have passed.

Constructor Detail

CountingOutputStream

public CountingOutputStream(OutputStream out)
Constructs a new CountingOutputStream.

Parameters: out the OutputStream to write to

Method Detail

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()
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.

Returns: the number of bytes accumulated

Throws: ArithmeticException if the byte count is too large

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()
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.

Returns: the count previous to resetting

Throws: ArithmeticException if the byte count is too large

write

public void write(byte[] b)
Writes the contents of the specified byte array to this output stream keeping count of the number of bytes written.

Parameters: b the bytes to write, not null

Throws: IOException if an I/O error occurs

See Also: java.io.OutputStream#write(byte[])

write

public 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.

Parameters: b the bytes to write, not null off the start offset in the buffer len the maximum number of bytes to write

Throws: IOException if an I/O error occurs

See Also: java.io.OutputStream#write(byte[], int, int)

write

public void write(int b)
Writes a single byte to the output stream adding to the count of the number of bytes written.

Parameters: b the byte to write

Throws: IOException if an I/O error occurs

See Also: java.io.OutputStream#write(int)

Copyright (c) 2002-2011 Apache Software Foundation