import java.io.FileNotFoundException;
import java.io.PrintStream;public class TestSystemOut {public static void main(String[] args) throws FileNotFoundException {System.setOut(new PrintStream("f:/test.txt"));System.out.println("Hello World");}}
输出到多个地方.
如: console和文件
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
public class MultiOutputStream extends OutputStream {
private List<OutputStream> outputStreams;
public MultiOutputStream(List<OutputStream> outputStreams) throws IOException {
super();
if (CollectionUtils.isEmpty(outputStreams)) {
throw new IOException("must set one OutputStream at least!");
}
this.outputStreams = outputStreams;
}
@Override
public void write(int b) throws IOException {
for (OutputStream outputStream : outputStreams) {
outputStream.write(b);
}
}
}
List<OutputStream> outputStreams = new ArrayList<OutputStream>();
outputStreams.add(System.out);
outputStreams.add(new FileOutputStream("../test.out"));
MultiOutputStream multiOutputStream = new MultiOutputStream(outputStreams);
System.setOut(new PrintStream(multiOutputStream));