|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.io.Writer
com.gc.iotools.stream.writer.TeeWriter
public class TeeWriter
Copies the data that is written to this class to the Writer(s)
passed in the constructor. It also collect statistics on the operations
done (time spent writing to the internal writers, amount of data written).
Usage:
InputStream source=... //some data to be read.
StringWriter destination1= new StringWriter();
StringWriter destination2= new StringWriter();
TeeWriter tee = new TeeWriter(destination1,destination2);
org.apache.commons.io.IOUtils.copy(source,tee);
tee.close();
//at this point both destination1 and destination2 contains the same characters.
| Field Summary | |
|---|---|
protected boolean |
closeCalled
True when close() is invoked. |
protected Writer[] |
destinations
The destination Writer(s) where data is written. |
| Fields inherited from class java.io.Writer |
|---|
lock |
| Constructor Summary | |
|---|---|
TeeWriter(Writer... destinations)
Creates a TeeWriter and saves its arguments, the
destinations for later use. |
|
| Method Summary | |
|---|---|
void |
close()
|
void |
enableCopy(boolean enable)
Allow to switch off the copy to the underlying streams. |
void |
enableCopy(boolean[] enable)
Allow to switch off the copy to the underlying streams, selectively enabling or disabling copy on some specific stream. |
void |
flush()
|
long |
getSize()
This method returns the size in bytes of the data written to this Writer. |
long[] |
getWriteTime()
Return the time spent writing to the destination Writer(s)
in milliseconds. |
void |
write(char[] b)
|
void |
write(char[] b,
int off,
int len)
|
void |
write(int b)
|
| Methods inherited from class java.io.Writer |
|---|
append, append, append, write, write |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected boolean closeCalled
True when close() is invoked. Prevents data from
being written to the destination Writer(s) after
close() has been invoked.
protected final Writer[] destinations
Writer(s) where data is written.
| Constructor Detail |
|---|
public TeeWriter(Writer... destinations)
Creates a TeeWriter and saves its arguments, the
destinations for later use.
This constructor allow to specify multiple Writer to which
the data will be copied.
destinations - Data written to thisWriter are copied to all
the destinations.| Method Detail |
|---|
public void close()
throws IOException
close in interface Closeableclose in class WriterIOExceptionpublic final void enableCopy(boolean enable)
Allow to switch off the copy to the underlying streams. Setting the parameter to false will disable the copy to all the underlying streams at once.
If you need more fine grained control you should use
enableCopy(boolean[]) .
enable - whether to copy or not the bytes to the underlying stream.public final void enableCopy(boolean[] enable)
Allow to switch off the copy to the underlying streams, selectively enabling or disabling copy on some specific stream.
The copy is enabled by default. Each element in the array correspond to
an OutputStream passed in the constructor. If the
correspondent element in the array passed as a parameter is set to
true the copy will be enabled.It can be invoked multiple
times.
enable - whether to copy or not the bytes to the underlying stream.
public void flush()
throws IOException
flush in interface Flushableflush in class WriterIOExceptionpublic final long getSize()
This method returns the size in bytes of the data written to this Writer. It can be used to collect statistics on the write operations.
Writers.public long[] getWriteTime()
Return the time spent writing to the destination Writer(s)
in milliseconds.
The returned array has one element for each Writer passed
in the constructor.
Writers.
public void write(char[] b)
throws IOException
write in class WriterIOException
public void write(char[] b,
int off,
int len)
throws IOException
write in class WriterIOException
public void write(int b)
throws IOException
write in class WriterIOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||