package call; import java.io.IOException; import java.io.OutputStream; public class MultiOutputStream extends OutputStream implements Id { private final OutputStream[] outputStreams; public MultiOutputStream(OutputStream... outputStreams) { this.outputStreams = outputStreams; } @Override public void write(int b) throws IOException { for (OutputStream out : outputStreams) out.write(b); } @Override public void write(byte[] b) throws IOException { for (OutputStream out : outputStreams) out.write(b); } @Override public void write(byte[] b, int off, int len) throws IOException { for (OutputStream out : outputStreams) out.write(b, off, len); } @Override public void flush() throws IOException { for (OutputStream out : outputStreams) out.flush(); } @Override public void close() throws IOException { for (OutputStream out : outputStreams) out.close(); } @Override public int compareTo(Id other) { return getId().compareTo(other.getId()); } @Override public String getId() { return toString(); } }