com.gc.iotools.stream.os.inspection
Class StatsOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by com.gc.iotools.stream.os.inspection.StatsOutputStream
All Implemented Interfaces:
Closeable, Flushable

public class StatsOutputStream
extends OutputStream

Gather some statistics on the OutputStream passed in the constructor.

It can be used to read:

Full statistics are available after the stream has been fully processed (by other parts of the application), or after invoking the method close() while partial statistics are available on the fly.

Since:
1.2.6
Version:
$Id: StatsOutputStream.java 463 2011-01-21 23:54:17Z dvd.smnt@gmail.com $
Author:
dvd.smnt

Constructor Summary
StatsOutputStream(OutputStream destination)
          Creates a new SizeRecorderOutputStream with the given destination stream.
 
Method Summary
 void close()
          
 void flush()
          
 String getBitRateString()
           Returns a string representation of the writing bit rate formatted with a convenient unit.
 long getSize()
          Returns the number of bytes written until now.
 long getTime(TimeUnit tu)
           Returns the time spent waiting for the internal stream to write the data.
 void write(byte[] b)
          
 void write(byte[] b, int off, int len)
          
 void write(int b)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StatsOutputStream

public StatsOutputStream(OutputStream destination)
Creates a new SizeRecorderOutputStream with the given destination stream.

Parameters:
destination - Destination stream where data are written.
Method Detail

close

public void close()
           throws IOException

Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException

flush

public void flush()
           throws IOException

Specified by:
flush in interface Flushable
Overrides:
flush in class OutputStream
Throws:
IOException

getBitRateString

public String getBitRateString()

Returns a string representation of the writing bit rate formatted with a convenient unit. The unit will change trying to keep not more than 3 digits.

Returns:
The bitRate of the stream.
Since:
1.2.2

getSize

public long getSize()
Returns the number of bytes written until now.

Returns:
return the number of bytes written until now.

getTime

public long getTime(TimeUnit tu)

Returns the time spent waiting for the internal stream to write the data.

Parameters:
tu - Unit to measure the time.
Returns:
time spent in waiting.

write

public void write(byte[] b)
           throws IOException

Overrides:
write in class OutputStream
Throws:
IOException

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException

Overrides:
write in class OutputStream
Throws:
IOException

write

public void write(int b)
           throws IOException

Specified by:
write in class OutputStream
Throws:
IOException


Copyright © 2008-2011. All Rights Reserved.