Automatic conversion of System.out output Tag(s): IO
import java.io.PrintStream; public class Test { public static void main(String[] args) throws Exception { System.setOut(new PrintStream(System.out) { public void println(String s) { super.println(s.toUpperCase()); } }); System.out.println("hello world"); // output : HELLO WORLD } }
import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; public class TeeOutputStream extends OutputStream { private OutputStream os1; private OutputStream os2; public TeeOutputStream(OutputStream os1, OutputStream os2) { this.os1 = os1; this.os2 = os2; } public void write(int i) throws IOException { os1.write(i); os2.write(i); } public void flush() throws IOException { os1.flush(); os2.flush(); } public void close() throws IOException { os1.close(); os2.close(); } public static void main(String[] args) throws IOException { System.out.println("Starting..."); // keep the original PrintStream originalOutStream = System.out; System.setOut( new PrintStream( new TeeOutputStream( System.out, new PrintStream("C:/temp/howto.out")))); // restore the original System.out.println("*"); for (int i = 1; i<= 10; i++) { System.out.println(i); } System.out.println("*"); System.setOut(originalOutStream); System.out.println("Done. Check the log"); } }
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com