Skip to content
Related Articles

Related Articles

Improve Article

Redirecting System.out.println() output to a file in Java

  • Difficulty Level : Easy
  • Last Updated : 24 Mar, 2018

System.out.println()  is used mostly to print messages to the console. However very few of us are actually aware of  its working mechanism.

  • System is a class defined in the java.lang package.
  • out is an instance of PrintStream  , which is a public and static member of the class System.
  • As all instances of PrintStream class have a public method println(), hence we can invoke the same on out as well. We can assume System.out  represents the standard Output Stream .

One interesting fact related to the above topic is, we can use System.out.println() to print messages to other sources too (and not just console) . However before doing so , we must reassign the standard output by using the following method of System class:

System.setOut(PrintStream p);

PrintStream can be used for character output to a text file. Below program creates the file A.txt and writes to the file using System.out.println(

// Java program to demonstrate redirection in System.out.println()
public class SystemFact
    public static void main(String arr[]) throws FileNotFoundException
        // Creating a File object that represents the disk file.
        PrintStream o = new PrintStream(new File("A.txt"));
        // Store current System.out before assigning a new value
        PrintStream console = System.out;
        // Assign o to output stream
        System.out.println("This will be written to the text file");
        // Use stored value for output stream
        System.out.println("This will be written on the console!");

In very similar fashion we can use System.out.println() to write to a Socket’s OutputStream as well.

This article is contributed by Ashutosh Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :