TeeOutputStream (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.util, class: TeeOutputStream

Package org.apache.tools.ant.util

# Class TeeOutputStream

java.lang.Object
java.io.OutputStream
org.apache.tools.ant.util.TeeOutputStream

All Implemented Interfaces:
  `java.io.Closeable`, `java.io.Flushable`, `java.lang.AutoCloseable`

    public class TeeOutputStream
    extends java.io.OutputStream

A simple T-piece to replicate an output stream into two separate streams

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `TeeOutputStream​(java.io.OutputStream left, java.io.OutputStream right)` | Constructor for TeeOutputStream.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `close()` | Close both output streams.
  `void` | `flush()` | Flush both output streams.
  `void` | `write​(byte[] b)` | Write a byte array to both output streams.
  `void` | `write​(byte[] b, int off, int len)` | Write a byte array to both output streams.
  `void` | `write​(int b)` | Write a byte to both output streams.

  ### Methods inherited from class java.io.OutputStream

  `nullOutputStream`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### TeeOutputStream

    public TeeOutputStream​(java.io.OutputStream left, java.io.OutputStream right)
    Constructor for TeeOutputStream.
    Parameters:
      `left` - one of the output streams.
      `right` - the other output stream.

- ## Method Details

  - ### close

    public void close() throws java.io.IOException
    Close both output streams.
    Specified by:
      `close` in interface `java.lang.AutoCloseable`
    Specified by:
      `close` in interface `java.io.Closeable`
    Overrides:
      `close` in class `java.io.OutputStream`
    Throws:
      `java.io.IOException` - on error.

  - ### flush

    public void flush() throws java.io.IOException
    Flush both output streams.
    Specified by:
      `flush` in interface `java.io.Flushable`
    Overrides:
      `flush` in class `java.io.OutputStream`
    Throws:
      `java.io.IOException` - on error

  - ### write

    public void write​(byte[] b) throws java.io.IOException
    Write a byte array to both output streams.
    Overrides:
      `write` in class `java.io.OutputStream`
    Parameters:
      `b` - an array of bytes.
    Throws:
      `java.io.IOException` - on error.

  - ### write

    public void write​(byte[] b, int off, int len) throws java.io.IOException
    Write a byte array to both output streams.
    Overrides:
      `write` in class `java.io.OutputStream`
    Parameters:
      `b` - the data.
      `off` - the start offset in the data.
      `len` - the number of bytes to write.
    Throws:
      `java.io.IOException` - on error.

  - ### write

    public void write​(int b) throws java.io.IOException
    Write a byte to both output streams.
    Specified by:
      `write` in class `java.io.OutputStream`
    Parameters:
      `b` - the byte to write.
    Throws:
      `java.io.IOException` - on error.