|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.io.OutputStream
com.gc.iotools.stream.os.TeeOutputStream
public class TeeOutputStream
Copies the data that is written to this class to the
OutputStream(s) passed in the constructor. It also collect
statistics on the operations done (time spent writing to the internal
streams, amount of data written).
Usage:
InputStream source=... //some data to be read.
ByteArrayOutputStream destination1= new ByteArrayOutputStream();
ByteArrayOutputStream destination2= new ByteArrayOutputStream();
TeeOutputStream tee = new TeeOutputStream(destination1,destination2);
org.apache.commons.io.IOUtils.copy(source,tee);
tee.close();
//at this point both destination1 and destination2 contains the same bytes.
| Field Summary | |
|---|---|
protected boolean |
closeCalled
True when close() is invoked. |
protected OutputStream[] |
destinations
The destination OutputStream(s) where data is written. |
| Constructor Summary | |
|---|---|
TeeOutputStream(OutputStream... destinations)
Creates a TeeOutputStream and saves its arguments, the
destinations for later use. |
|
| Method Summary | |
|---|---|
void |
close()
|
void |
flush()
|
long |
getSize()
This method returns the size in bytes of the data written to this OutputStream. |
long[] |
getWriteTime()
Return the time spent writing to the destination OutputStream(s) in milliseconds. |
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 |
| Field Detail |
|---|
protected final OutputStream[] destinations
OutputStream(s) where data is written.
protected boolean closeCalled
True when close() is invoked. Prevents data from
being written to the destination OutputStream(s) after
close() has been invoked.
| Constructor Detail |
|---|
public TeeOutputStream(OutputStream... destinations)
Creates a TeeOutputStream and saves its arguments, the
destinations for later use.
This constructor allow to specify multiple OutputStream to
which the data will be copied.
destinations - Data written to thisOutputStream are copied to
all the destinations.| Method Detail |
|---|
public void close()
throws IOException
close in interface Closeableclose in class OutputStreamIOException
public void flush()
throws IOException
flush in interface Flushableflush in class OutputStreamIOExceptionpublic final long getSize()
This method returns the size in bytes of the data written to this OutputStream. It can be used to collect statistics on the write operations.
OutputStreams.public long[] getWriteTime()
Return the time spent writing to the destination
OutputStream(s) in milliseconds.
The returned array has one element for each OutputStream
passed in the constructor.
OutputStreams.
public void write(byte[] b)
throws IOException
write in class OutputStreamIOException
public void write(byte[] b,
int off,
int len)
throws IOException
write in class OutputStreamIOException
public void write(int b)
throws IOException
write in class OutputStreamIOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||