![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e54. Redirecting Standard Output, and ErrorThis example replaces standard output and error with a print stream that copies its output to both the console and to a file.// All writes to this print stream are copied to two print streams public class TeeStream extends PrintStream { PrintStream out; public TeeStream(PrintStream out1, PrintStream out2) { super(out1); this.out = out2; } public void write(byte buf[], int off, int len) { try { super.write(buf, off, len); out.write(buf, off, len); } catch (Exception e) { } } public void flush() { super.flush(); out.flush(); } }Here's an example that uses the class: try { // Tee standard output PrintStream out = new PrintStream(new FileOutputStream("out.log")); PrintStream tee = new TeeStream(System.out, out); System.setOut(tee); // Tee standard error PrintStream err = new PrintStream(new FileOutputStream("err.log")); tee = new TeeStream(System.err, err); System.setErr(tee); } catch (FileNotFoundException e) { } // Write to standard output and error and the log files System.out.println("welcome"); System.err.println("error");
e49. Terminating the Application e50. Determining When the Application Is About to Exit e51. Computing Elapsed Time e52. Loading Native Code e53. Implementing a Class That Can Be Sorted e55. Getting the Size of the Heap
© 2002 Addison-Wesley. |