Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.core
Class Tee

    java.lang.Object
      java.io.OutputStream
          java.io.FilterOutputStream
              java.io.PrintStream
                  weka.core.Tee

All Implemented Interfaces:
  java.io.Closeable, java.io.Flushable, java.lang.Appendable, RevisionHandler

    public class Tee

extends java.io.PrintStream
implements RevisionHandler

This class pipelines print/println's to several PrintStreams. Useful for redirecting System.out and System.err to files etc.
E.g., for redirecting stderr/stdout to files with timestamps and:

        import java.io.*;
        import weka.core.Tee;

        ...
        // stdout
        Tee teeOut = new Tee(System.out);
        teeOut.add(new PrintStream(new FileOutputStream("out.txt")), true);
        System.setOut(teeOut);

        // stderr
        Tee teeErr = new Tee(System.err);
        teeErr.add(new PrintStream(new FileOutputStream("err.txt")), true);
        System.setOut(teeErr);
        ...

Version:
  $Revision: 5057 $
Author:
  FracPete (fracpete at waikato dot ac dot nz)

Constructor Summary
`Tee()` initializes the object, with a default printstream.
`Tee(java.io.PrintStream def)` initializes the object with the given default printstream, e.g., System.out.

Method Summary
`void` | `add(java.io.PrintStream p)` adds the given PrintStream to the list of streams, with NO timestamp and NO prefix.
`void` | `add(java.io.PrintStream p, boolean timestamp)` adds the given PrintStream to the list of streams, with NO prefix.
`void` | `add(java.io.PrintStream p, boolean timestamp, java.lang.String prefix)` adds the given PrintStream to the list of streams.
`void` | `clear()` removes all streams and places the default printstream, if any, again in the list.
`boolean` | `contains(java.io.PrintStream p)` checks whether the given PrintStream is already in the list.
`void` | `flush()` flushes all the printstreams.
`java.io.PrintStream` | `get(int index)` returns the specified PrintStream from the list.
`java.io.PrintStream` | `getDefault()` returns the default printstrean, can be NULL.
`java.lang.String` | `getRevision()` Returns the revision string.
`void` | `print(boolean x)` prints the given boolean to the streams.
`void` | `print(char x)` prints the given char to the streams.
`void` | `print(char[] x)` prints the given char array to the streams.
`void` | `print(double x)` prints the given double to the streams.
`void` | `print(float x)` prints the given float to the streams.
`void` | `print(int x)` prints the given int to the streams.
`void` | `print(long x)` prints the given long to the streams.
`void` | `print(java.lang.Object x)` prints the given object to the streams.
`void` | `print(java.lang.String x)` prints the given string to the streams.
`void` | `println()` prints a new line to the streams.
`void` | `println(boolean x)` prints the given boolean to the streams.
`void` | `println(char x)` prints the given char to the streams.
`void` | `println(char[] x)` prints the given char array to the streams.
`void` | `println(double x)` prints the given double to the streams.
`void` | `println(float x)` prints the given float to the streams.
`void` | `println(int x)` prints the given int to the streams.
`void` | `println(long x)` prints the given long to the streams.
`void` | `println(java.lang.Object x)` prints the given object to the streams (for Throwables we print the stack trace).
`void` | `println(java.lang.String x)` prints the given string to the streams.
`java.io.PrintStream` | `remove(int index)` removes the given PrintStream from the list.
`java.io.PrintStream` | `remove(java.io.PrintStream p)` removes the given PrintStream from the list.
`int` | `size()` returns the number of streams currently in the list.
`java.lang.String` | `toString()` returns only the classname and the number of streams.
`void` | `write(byte[] buf, int off, int len)` Writes `len` bytes from the specified byte array starting at offset `off` to this stream.
`void` | `write(int b)` Writes the specified byte to this stream.

Methods inherited from class java.io.PrintStream
`append, append, append, checkError, close, format, format, printf, printf`

Methods inherited from class java.io.FilterOutputStream
`write`

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

Constructor Detail

### Tee

    public Tee()

  initializes the object, with a default printstream.

### Tee

    public Tee(java.io.PrintStream def)

  initializes the object with the given default printstream, e.g., System.out.

  Parameters:
    `def` - the default printstream, remains also after calling clear()

Method Detail

### clear

    public void clear()

  removes all streams and places the default printstream, if any, again in the list.

  See Also:
    `getDefault()`

### getDefault

    public java.io.PrintStream getDefault()

  returns the default printstrean, can be NULL.

  Returns:
    the default printstream
  See Also:
    `m_Default`

### add

    public void add(java.io.PrintStream p)

  adds the given PrintStream to the list of streams, with NO timestamp and NO prefix.

  Parameters:
    `p` - the printstream to add

### add

    public void add(java.io.PrintStream p,
                    boolean timestamp)

  adds the given PrintStream to the list of streams, with NO prefix.

  Parameters:
    `p` - the printstream to add
    `timestamp` - whether to use timestamps or not

### add

    public void add(java.io.PrintStream p,
                    boolean timestamp,
                    java.lang.String prefix)

  adds the given PrintStream to the list of streams.

  Parameters:
    `p` - the printstream to add
    `timestamp` - whether to use timestamps or not
    `prefix` - the prefix to use

### get

    public java.io.PrintStream get(int index)

  returns the specified PrintStream from the list.

  Parameters:
    `index` - the index of the PrintStream to return
  Returns:
    the specified PrintStream, or null if invalid index

### remove

    public java.io.PrintStream remove(java.io.PrintStream p)

  removes the given PrintStream from the list.

  Parameters:
    `p` - the PrintStream to remove
  Returns:
    returns the removed PrintStream if it could be removed, null otherwise

### remove

    public java.io.PrintStream remove(int index)

  removes the given PrintStream from the list.

  Parameters:
    `index` - the index of the PrintStream to remove
  Returns:
    returns the removed PrintStream if it could be removed, null otherwise

### contains

    public boolean contains(java.io.PrintStream p)

  checks whether the given PrintStream is already in the list.

  Parameters:
    `p` - the PrintStream to look for
  Returns:
    true if the PrintStream is in the list

### size

    public int size()

  returns the number of streams currently in the list.

  Returns:
    the number of streams in the list

### flush

    public void flush()

  flushes all the printstreams.

  Specified by:
    `flush` in interface `java.io.Flushable`
  Overrides:
    `flush` in class `java.io.PrintStream`

### print

    public void print(int x)

  prints the given int to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### print

    public void print(long x)

  prints the given long to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### print

    public void print(float x)

  prints the given float to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### print

    public void print(double x)

  prints the given double to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### print

    public void print(boolean x)

  prints the given boolean to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### print

    public void print(char x)

  prints the given char to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### print

    public void print(char[] x)

  prints the given char array to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### print

    public void print(java.lang.String x)

  prints the given string to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### print

    public void print(java.lang.Object x)

  prints the given object to the streams.

  Overrides:
    `print` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println()

  prints a new line to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`

### println

    public void println(int x)

  prints the given int to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println(long x)

  prints the given long to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println(float x)

  prints the given float to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println(double x)

  prints the given double to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println(boolean x)

  prints the given boolean to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println(char x)

  prints the given char to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println(char[] x)

  prints the given char array to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println(java.lang.String x)

  prints the given string to the streams.

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### println

    public void println(java.lang.Object x)

  prints the given object to the streams (for Throwables we print the stack trace).

  Overrides:
    `println` in class `java.io.PrintStream`
  Parameters:
    `x` - the object to print

### write

    public void write(byte[] buf,
                      int off,
                      int len)

  Writes `len` bytes from the specified byte array starting at offset `off` to this stream. If automatic flushing is enabled then the `flush` method will be invoked.

  Note that the bytes will be written as given; to write characters that will be translated according to the platform's default character encoding, use the `print(char)` or `println(char)` methods.

  Overrides:
    `write` in class `java.io.PrintStream`
  Parameters:
    `buf` - A byte array
    `off` - Offset from which to start taking bytes
    `len` - Number of bytes to write

### write

    public void write(int b)

  Writes the specified byte to this stream. If the byte is a newline and automatic flushing is enabled then the `flush` method will be invoked.

  Note that the byte is written as given; to write a character that will be translated according to the platform's default character encoding, use the `print(char)` or `println(char)` methods.

  Overrides:
    `write` in class `java.io.PrintStream`
  Parameters:
    `b` - The byte to be written
  See Also:
    `print(char)`, `println(char)`

### toString

    public java.lang.String toString()

  returns only the classname and the number of streams.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    only the classname and the number of streams

### getRevision

    public java.lang.String getRevision()

  Returns the revision string.

  Specified by:
    `getRevision` in interface `RevisionHandler`
  Returns:
    the revision

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD