CloneOutputStream.java
package com.github.casperjs.casperjsrunner.cmd;
import static com.google.common.collect.Lists.newArrayList;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
public class CloneOutputStream extends OutputStream {
private List<OutputStream> streams;
public CloneOutputStream(final OutputStream... streams) {
this.streams = newArrayList(streams);
}
@Override
public void write(final int b) throws IOException {
for (final OutputStream stream : streams) {
stream.write(b);
}
}
@Override
public void write(final byte[] b) throws IOException {
for (final OutputStream stream : streams) {
stream.write(b);
}
}
@Override
public void write(final byte[] b, final int off, final int len) throws IOException {
for (final OutputStream stream : streams) {
stream.write(b, off, len);
}
}
@Override
public void flush() throws IOException {
for (final OutputStream stream : streams) {
stream.flush();
}
}
@Override
public void close() throws IOException {
for (final OutputStream stream : streams) {
stream.close();
}
}
}