Java (programming language)

 

System.out and System.err stream objects are mapped to “standard” output and error stream respectively. By default, Java display standard output/error on display console.

 

Thus, when we print a statement using System.out:

 

System.out.println("Hello World!");
System.err.println("errr.. Hello World!");

 

It prints the messages to default console.

 

What if you want to reassign the “standard” output and error stream? Lets say you want to redirect all those standard out messages in a File.

 

System class provides some useful API to re-assign “standard” input, output and error streams.

 

  • setErr(PrintStream err): Reassigns the “standard” error output stream
  • setIn(InputStream in): Reassigns the “standard” input stream.
  • setOut(PrintStream out): Reassigns the “standard” output stream.

 

In below Java code we reassign “standard” output to a file and redirect all sysout messages to that file.

 

System.out.println("January");
System.out.println("February");
PrintStream ps = new PrintStream("C:/sample.txt");
System.setOut(ps);
        
System.out.println("March");
System.out.println("April");
            
ps.close();

 

Output:

 

January
February

 

File: sample.txt

 

March
April

 

Thus only January and February will be displayed in console and March April will be printed in sample.txt file.

 

Advertisements
Comments
  1. Mudassir says:

    Nice article zeeshan bhai. Great. Exploring new ways to do things always makes you feel good.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s