Package org.apache.commons.io.output
Class TeeOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- org.apache.commons.io.output.ProxyOutputStream
-
- org.apache.commons.io.output.TeeOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
public class TeeOutputStream extends ProxyOutputStream
Classic splitter ofOutputStream
. Named after the Unix 'tee' command. It allows a stream to be branched off so there are now two streams.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.io.OutputStream
branch
The second OutputStream to write to.
-
Constructor Summary
Constructors Constructor Description TeeOutputStream(java.io.OutputStream out, java.io.OutputStream branch)
Constructs a TeeOutputStream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes both output streams.void
flush()
Flushes both streams.void
write(byte[] b)
Writes the bytes to both streams.void
write(byte[] b, int off, int len)
Writes the specified bytes to both streams.void
write(int b)
Writes a byte to both streams.-
Methods inherited from class org.apache.commons.io.output.ProxyOutputStream
afterWrite, beforeWrite, handleIOException
-
-
-
-
Method Detail
-
write
public void write(byte[] b) throws java.io.IOException
Writes the bytes to both streams.- Overrides:
write
in classProxyOutputStream
- Parameters:
b
- the bytes to write- Throws:
java.io.IOException
- if an I/O error occurs.
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException
Writes the specified bytes to both streams.- Overrides:
write
in classProxyOutputStream
- Parameters:
b
- the bytes to writeoff
- The start offsetlen
- The number of bytes to write- Throws:
java.io.IOException
- if an I/O error occurs.
-
write
public void write(int b) throws java.io.IOException
Writes a byte to both streams.- Overrides:
write
in classProxyOutputStream
- Parameters:
b
- the byte to write- Throws:
java.io.IOException
- if an I/O error occurs.
-
flush
public void flush() throws java.io.IOException
Flushes both streams.- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classProxyOutputStream
- Throws:
java.io.IOException
- if an I/O error occurs.
-
close
public void close() throws java.io.IOException
Closes both output streams.If closing the main output stream throws an exception, attempt to close the branch output stream.
If closing the main and branch output streams both throw exceptions, which exceptions is thrown by this method is currently unspecified and subject to change.
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classProxyOutputStream
- Throws:
java.io.IOException
- if an I/O error occurs.
-
-