자바의 System 클래스에는 setErr 메서드가 있습니다. 이 메서드는 표준 에러 스트림(System.err)을 변경하는 데 사용됩니다. 즉, 이 메서드를 사용하면 표준 에러가 다른 출력 스트림으로 바뀝니다.
메서드 시그니처는 다음과 같습니다.
public static void setErr(PrintStream err);
여기서 err은 새로운 표준 에러 스트림을 나타냅니다. 이를 통해 표준 에러를 다른 출력 대상으로 변경할 수 있습니다.
예를 들어, 파일로의 출력 스트림으로 표준 에러를 변경하는 예제는 다음과 같습니다.
import java.io.*;
public class RedirectSystemErr {
public static void main(String[] args) {
// 현재의 표준 에러(System.err)을 보관
PrintStream originalErr = System.err;
try {
// 파일로의 출력 스트림 생성
PrintStream fileErr = new PrintStream(new FileOutputStream("error.txt"));
// 표준 에러를 파일로 변경
System.setErr(fileErr);
// 변경된 표준 에러에 메시지 출력
System.err.println("This error message will be written to the file.");
// 기존의 표준 에러로 복원
System.setErr(originalErr);
// 원래의 표준 에러로 메시지 출력
System.err.println("This error message will be printed to the console.");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
이 예제에서는 표준 에러를 error.txt 파일로 변경한 후, 다시 원래의 표준 에러로 복원합니다. 변경된 표준 에러에 출력되는 메시지는 파일로 기록되고, 원래의 표준 에러에 출력되는 메시지는 콘솔에 표시됩니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 RandomAccessFile (0) | 2023.11.26 |
---|---|
자바 표준입출력 setIn() (0) | 2023.11.26 |
자바 표준입출력 setOut() (0) | 2023.11.26 |
자바 System.err (0) | 2023.11.26 |
자바 System.out (0) | 2023.11.26 |