Redirect standard output


If you want to change the location to where the standard output messages go there's a method in the System class called setOut() which takes a PrintStream instance as argument.
In this code example we show how to redirect all standard output messages to a file by creating a FileOutputStream instance and pass it to the PrintStream instance that is sent to the setOut method, like so:


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
/**
 * Main.java
 *
 * @author www.javadb.com
 */

public class Main {
    
    /**
     * Redirects System.out and sends all data to a file.
     *
     */

    public void redirectSystemOut() {
        
        try {
            
            System.setOut(new PrintStream(new FileOutputStream("system_out.txt")));
            
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
            return;
        }
        
        System.out.println("This won't get displayed on the console, but sent to the file system_out.txt");
        
    }
    /**
     * Starts the program
     *
     * @param args the command line arguments
     */

    public static void main(String[] args) {
        new Main().redirectSystemOut();
    }
}








   What kind of Java example would you like to see on this site?

   
     E-mail (optional)