Перенаправление вывода System.out.println () в файл на Java

Опубликовано: 15 Февраля, 2022

System.out.println () используется в основном для вывода сообщений на консоль. Однако очень немногие из нас на самом деле знают о его рабочем механизме.

  • Система - это класс, определенный в пакете java.lang.
  • out - это экземпляр PrintStream , который является публичным и статическим членом класса System .
  • Поскольку все экземпляры класса PrintStream имеют общедоступный метод println () , следовательно, мы можем вызывать его и на выходе. Мы можем предположить, что System.out представляет стандартный поток вывода.

Один интересный факт, связанный с вышеупомянутой темой, заключается в том, что мы можем использовать System.out.println () для печати сообщений и в другие источники (а не только в консоль) . Однако перед этим мы должны переназначить стандартный вывод, используя следующий метод класса 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()
import java.io.*;
  
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.setOut(o);
        System.out.println("This will be written to the text file");
  
        // Use stored value for output stream
        System.setOut(console);
        System.out.println("This will be written on the console!");
    }
}

Очень похожим образом мы можем использовать System.out.println () для записи в OutputStream сокета.

Эта статья предоставлена Ашутошем Кумаром . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью и отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .