Redirigir la salida de System.out.println() a un archivo en Java

System.out.println()   se usa principalmente para imprimir mensajes en la consola. Sin embargo, muy pocos de nosotros somos realmente conscientes de su mecanismo de trabajo. Podemos usar System.out.println() para imprimir mensajes a otras fuentes también, no solo restringiéndolos a la consola. Sin embargo, antes de hacerlo, debemos reasignar la salida estándar utilizando el siguiente método de la clase System como se indica a continuación:

Sintaxis: 

System.setOut(PrintStream p);

Nota: PrintStream se puede utilizar para la salida de caracteres a un archivo de texto. 

  • El sistema es una clase definida en el paquete java.lang .
  • out es una instancia de PrintStream , que es un miembro público y estático de la clase System .
  • Como todas las instancias de la clase PrintStream tienen un método público println() , por lo tanto, también podemos invocar el mismo. Podemos suponer que System.out representa el flujo de salida estándar.

Procedimiento:

  1. Creación de objeto de clase de archivo
  2. Crear una instancia de la clase PrintStream pasando el objeto anterior de la clase File como argumento.
  3. Llamar al método out() de la clase System al proporcionar el objeto PrintStream.
  4. Por último, imprima los datos utilizando el método print().    

El archivo de entrada de muestra es el siguiente:

Ejemplo:

Java

// Java Program to Demonstrate Redirection in
// System.out.println() By Creating .txt File
// and Writing to the file Using
// System.out.println()
 
// Importing required classes
import java.io.*;
 
// Main class
// SystemFact
public class GFG {
 
    // Main driver method
    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
        // using setOut() method
        System.setOut(o);
 
        // Display message only
        System.out.println(
            "This will be written to the text file");
 
        // Use stored value for output stream
        System.setOut(console);
 
        // Display message only
        System.out.println(
            "This will be written on the console!");
    }
}

Producción:

Sugerencia: De manera muy similar, también podemos usar System.out.println() para escribir en un OutputStream de Socket.

Este artículo es una contribución de Ashutosh Kumar . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo en write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *