yacy_search_server/source/de/anomic/http/MultiOutputStream.java

45 lines
941 B
Java

/**
* MultiOutputStream.java
* @since 26.08.2008
*/
package de.anomic.http;
import java.io.IOException;
import java.io.OutputStream;
/**
* writes to multiple {link OutputStream}s (parallel)
*
* @author daniel
*
*/
class MultiOutputStream extends OutputStream {
private final OutputStream[] streams;
/**
* creates a new MultiOutputStream
*
* @param streams
*/
public MultiOutputStream(final OutputStream[] streams) {
super();
// make a copy to avoid external modifications
this.streams = new OutputStream[streams.length];
System.arraycopy(streams, 0, this.streams, 0, streams.length);
}
/**
* writes the byte to each of the streams
*
* @see java.io.OutputStream#write(int)
*/
@Override
public void write(int b) throws IOException {
for(OutputStream stream: streams) {
stream.write(b);
}
}
}