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.