Class CountingOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
A typical use case would be during debugging, to ensure that data is being written as expected.
-
Field Summary
FieldsFields inherited from class java.io.FilterOutputStream
out
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new CountingOutputStream. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
beforeWrite
(int n) Updates the count with the number of bytes that are being written.long
The number of bytes that have passed through this stream.int
getCount()
Gets the number of bytes that have passed through this stream.long
Sets the byte count back to 0.int
Sets the byte count back to 0.Methods inherited from class org.apache.commons.io.output.ProxyOutputStream
afterWrite, close, flush, handleIOException, write, write, write
-
Field Details
-
count
private long countThe count of bytes that have passed.
-
-
Constructor Details
-
CountingOutputStream
Constructs a new CountingOutputStream.- Parameters:
out
- the OutputStream to write to
-
-
Method Details
-
beforeWrite
protected void beforeWrite(int n) Updates the count with the number of bytes that are being written.- Overrides:
beforeWrite
in classProxyOutputStream
- Parameters:
n
- number of bytes to be written to the stream- Since:
- 2.0
-
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:
- 1.3
-
getCount
public int getCount()Gets 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
. SeegetByteCount()
for a method using along
.- Returns:
- the number of bytes accumulated
- Throws:
ArithmeticException
- if the byte count is too large
-
resetByteCount
public long resetByteCount()Sets 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:
- 1.3
-
resetCount
public int resetCount()Sets 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
. SeeresetByteCount()
for a method using along
.- Returns:
- the count previous to resetting
- Throws:
ArithmeticException
- if the byte count is too large
-