Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:
  Closeable, Flushable

    public class TeeOutputStream

extends ProxyOutputStream

Classic splitter of OutputStream. Named after the unix 'tee' command. It allows a stream to be branched off so there are now two streams.

Version:
  $Id: TeeOutputStream.java 1302056 2012-03-18 03:03:38Z ggregory $

Field Summary
`protected OutputStream` | `branch` the second OutputStream to write to

Fields inherited from class java.io.FilterOutputStream
`out`

Constructor Summary
`TeeOutputStream(OutputStream out, OutputStream branch)` Constructs a TeeOutputStream.

Method Summary
`void` | `close()` Closes both output streams.
`void` | `flush()` Flushes both streams.
`void` | `write(byte[] b)` Write the bytes to both streams.
`void` | `write(byte[] b, int off, int len)` Write the specified bytes to both streams.
`void` | `write(int b)` Write a byte to both streams.

Methods inherited from class org.apache.commons.io.output.ProxyOutputStream
`afterWrite, beforeWrite, handleIOException`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### branch

    protected OutputStream branch

  the second OutputStream to write to

Constructor Detail

### TeeOutputStream

    public TeeOutputStream(OutputStream out,
                           OutputStream branch)

  Constructs a TeeOutputStream.

  Parameters:
    `out` - the main OutputStream
    `branch` - the second OutputStream

Method Detail

### write

    public void write(byte[] b)
               throws IOException

  Write the bytes to both streams.

  Overrides:
    `write` in class `ProxyOutputStream`
  Parameters:
    `b` - the bytes to write
  Throws:
    `IOException` - if an I/O error occurs

### write

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

  Write the specified bytes to both streams.

  Overrides:
    `write` in class `ProxyOutputStream`
  Parameters:
    `b` - the bytes to write
    `off` - The start offset
    `len` - The number of bytes to write
  Throws:
    `IOException` - if an I/O error occurs

### write

    public void write(int b)
               throws IOException

  Write a byte to both streams.

  Overrides:
    `write` in class `ProxyOutputStream`
  Parameters:
    `b` - the byte to write
  Throws:
    `IOException` - if an I/O error occurs

### flush

    public void flush()
               throws IOException

  Flushes both streams.

  Specified by:
    `flush` in interface `Flushable`
  Overrides:
    `flush` in class `ProxyOutputStream`
  Throws:
    `IOException` - if an I/O error occurs

### close

    public void close()
               throws 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 interface `Closeable`
  Overrides:
    `close` in class `ProxyOutputStream`
  Throws:
    `IOException` - if an I/O error occurs

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.