자바의 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 |