package com.macfaq.io;
import java.io.*;
public class BufferedStreamCopier {
public static void main(String[] args) {
try {
copy(System.in, System.out);
}
catch (IOException e) {
System.err.println(e);
}
}
public static void copy(InputStream in, OutputStream out)
throws IOException {
// do not allow other threads to read from the
// input or write to the output while copying is
// taking place
synchronized (in) {
synchronized (out) {
BufferedInputStream bin = new BufferedInputStream(in);
BufferedOutputStream bout = new BufferedOutputStream(out);
while (true) {
int datum = bin.read();
if (datum == -1) break;
bout.write(datum);
}
bout.flush();
}
}
}
}
|