Just roll your own. There isn't any magic at all. Using Apache's TeeOutputStream you would basically use the code below. Of course using the Apache Commons I/O library you can leverage other classes, but sometimes it is nice to actually write something for yourself. :)
public final class TeeOutputStream extends OutputStream {
  private final OutputStream out;
  private final OutputStream tee;
  public TeeOutputStream(OutputStream out, OutputStream tee) {
    if (out == null)
      throw new NullPointerException();
    else if (tee == null)
      throw new NullPointerException();
    this.out = out;
    this.tee = tee;
  }
  @Override
  public void write(int b) throws IOException {
    out.write(b);
    tee.write(b);
  }
  @Override
  public void write(byte[] b) throws IOException {
    out.write(b);
    tee.write(b);
  }
  @Override
  public void write(byte[] b, int off, int len) throws IOException {
    out.write(b, off, len);
    tee.write(b, off, len);
  }
  @Override
  public void flush() throws IOException {
    out.flush();
    tee.flush();
  }
  @Override
  public void close() throws IOException {
    try {
      out.close();
    } finally {
      tee.close();
    }
  }
}
Testing with the above class with the following
public static void main(String[] args) throws IOException {
  TeeOutputStream out = new TeeOutputStream(System.out, System.out);
  out.write("Hello world!".getBytes());
  out.flush();
  out.close();
}
would print Hello World!Hello World!.
(Note: the overridden close() could use some care tho' :)