JAVA/포스팅

자바 표준입출력 setOut()

짜집퍼박사(짜박) 2023. 11. 26. 20:04

자바의 System 클래스에는 setOut 메서드가 있습니다. 이 메서드는 표준 출력 스트림(System.out)을 변경하는 데 사용됩니다. 즉, 이 메서드를 사용하면 표준 출력이 다른 출력 스트림으로 바뀝니다.

 

메서드 시그니처는 다음과 같습니다.

public static void setOut(PrintStream out);

여기서 out은 새로운 표준 출력 스트림을 나타냅니다. 이를 통해 표준 출력을 다른 출력 대상으로 변경할 수 있습니다.

 

예를 들어, 파일로의 출력 스트림으로 표준 출력을 변경하는 예제는 다음과 같습니다

import java.io.*;

public class RedirectSystemOut {
    public static void main(String[] args) {
        // 현재의 표준 출력(System.out)을 보관
        PrintStream originalOut = System.out;

        try {
            // 파일로의 출력 스트림 생성
            PrintStream fileOut = new PrintStream(new FileOutputStream("output.txt"));

            // 표준 출력을 파일로 변경
            System.setOut(fileOut);

            // 변경된 표준 출력에 메시지 출력
            System.out.println("This message will be written to the file.");

            // 기존의 표준 출력으로 복원
            System.setOut(originalOut);

            // 원래의 표준 출력으로 메시지 출력
            System.out.println("This message will be printed to the console.");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

이 예제에서는 표준 출력을 output.txt 파일로 변경한 후, 다시 원래의 표준 출력으로 복원합니다. 변경된 표준 출력에 출력되는 메시지는 파일로 기록되고, 원래의 표준 출력에 출력되는 메시지는 콘솔에 표시됩니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 표준입출력 setIn()  (0) 2023.11.26
자바 표준입출력 setErr()  (0) 2023.11.26
자바 System.err  (0) 2023.11.26
자바 System.out  (0) 2023.11.26
자바 System.in  (0) 2023.11.26