Package org.apache.tools.ant.util

# Class KeepAliveOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.tools.ant.util.KeepAliveOutputStream

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

    public class KeepAliveOutputStream
    extends java.io.FilterOutputStream

Class that can be used to wrap `System.out` and `System.err` without getting anxious about any client closing the stream.

In code-language it means that it is not necessary to do:

     if (out != System.out && out != System.err) {
       out.close();
     }

- ## Field Summary

  ### Fields inherited from class java.io.FilterOutputStream

  `out`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `KeepAliveOutputStream​(java.io.OutputStream out)` | Constructor of KeepAliveOutputStream.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `close()` | This method does nothing.
  `static java.io.PrintStream` | `wrapSystemErr()` | Convenience factory method that returns a non-closing PrintStream around System.err.
  `static java.io.PrintStream` | `wrapSystemOut()` | Convenience factory method that returns a non-closing PrintStream around System.out.

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

  `flush, write, write, write`

  ### 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

  - ### KeepAliveOutputStream

    public KeepAliveOutputStream​(java.io.OutputStream out)
    Constructor of KeepAliveOutputStream.
    Parameters:
      `out` - an OutputStream value, it should be standard output.

- ## Method Details

  - ### close

    public void close() throws java.io.IOException
    This method does nothing.
    Specified by:
      `close` in interface `java.lang.AutoCloseable`
    Specified by:
      `close` in interface `java.io.Closeable`
    Overrides:
      `close` in class `java.io.FilterOutputStream`
    Throws:
      `java.io.IOException` - as we are overriding FilterOutputStream.

  - ### wrapSystemOut

    public static java.io.PrintStream wrapSystemOut()
    Convenience factory method that returns a non-closing PrintStream around System.out.
    Returns:
      PrintStream
    Since:
      Ant 1.8.0

  - ### wrapSystemErr

    public static java.io.PrintStream wrapSystemErr()
    Convenience factory method that returns a non-closing PrintStream around System.err.
    Returns:
      PrintStream
    Since:
      Ant 1.8.0