discarding output : Java Glossary


discarding output
Sometimes the user does not want the output of a Java program. How can you, as programmer, efficiently discard it without having to insert ifs around every write? You need a NullOutputStream class, an implementation of OutputStream that does nothing
// discard all output to System.out and System.err

PrintStream discard = new PrintStream( new NullOutputStream() );
System.setOut( discard );
System.setErr( discard );

You could knock off the trivial code for NullOutputStream yourself or get it from Apache Commons source.

This technique is more efficient than writing to the NUL device, since no bytes are sent to the OS (Operating System), and there is no buffering overhead.

 // discarding output on windows, note "nul" with one l.
System.setOut( new PrintStream( new File( "nul" )));

// discarding output on Unix, note null with two ls.
System.setOut( new PrintStream( new File( "/dev/null" )));
Thanks go to John B. Matthews for the information.

This page is posted
on the web at:


Optional Replicator mirror
of mindprod.com
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number