본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

콘솔이외의 다른 입출력대상으로, setOut(), setErr(), setIn()

setOut(), setErr(), setIn()
표준입출력의 대상변경, 콘솔이외의 다른 입출력대상으로 변경하는것이 가능하다.

static void setOut(PrintStream out)
static void setErr(PrintStream err)
static void setIn(InputStream in)

https://standout.tistory.com/53

 

표준입출력, System.in, System.out, System.err

I/O Input과 Output 입력과 출력, 입출력 컴퓨터 내부, 외부 장치와 프로그램간의 데이터를 주고받는것. 표준 스트림(standard streams) 컴퓨터 시스템의 기본 구성 요소 컴퓨터 프로그램과 그 환경(일반

standout.tistory.com

 

 

 

`System.setOut()`, `System.setErr()`, `System.setIn()` 메서드는

일반적으로 테스트 목적이나 로깅과 같은 특수한 상황에서 사용된다.

프로그램 전체에 영향을 주므로 주의해서 사용해야한다.

 

 

 

`setOut(PrintStream out)`: 표준 출력 스트림의 대상을 지정된 `PrintStream`으로 변경

`setErr(PrintStream err)`: 표준 오류 출력 스트림의 대상을 지정된 `PrintStream`으로 변경

`setIn(InputStream in)`: 표준 입력 스트림의 대상을 지정된 `InputStream`으로 변경

import java.io.*;

public class StandardIOSetExample {
    public static void main(String[] args) {
        try {
            // 기존 표준 출력을 파일에 대한 출력 스트림으로 변경
            FileOutputStream fileOut = new FileOutputStream("output.txt");
            PrintStream ps = new PrintStream(fileOut);
            System.setOut(ps);

            // 기존 표준 오류 출력을 파일에 대한 출력 스트림으로 변경
            FileOutputStream fileErr = new FileOutputStream("error.txt");
            PrintStream errPs = new PrintStream(fileErr);
            System.setErr(errPs);

            // 표준 출력에 메시지 출력
            System.out.println("이 메시지는 output.txt 파일에 저장됩니다.");

            // 표준 오류 출력에 오류 메시지 출력
            System.err.println("이 메시지는 error.txt 파일에 저장됩니다.");

            // 기존 표준 입력을 문자열 대한 입력 스트림으로 변경
            String inputString = "사용자 지정 입력";
            ByteArrayInputStream inputStream = new ByteArrayInputStream(inputString.getBytes());
            System.setIn(inputStream);

            // 사용자 지정 입력 스트림으로부터 데이터 읽기
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            System.out.print("사용자 지정 입력을 확인합니다: ");
            String input = reader.readLine();
            System.out.println("사용자 지정 입력: " + input);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

 

 

+ JDK1.5부터 Scanner클래스가 제공되면서 Systrem.in 으로부터 데이터를 입력받아 작업하는 것이 편리해졌다.

https://standout.tistory.com/1215

 

java.util.Scanner 입력소스를 읽다

Scanner는 화면, 파일, 문자열과 같은 입력소스로부터 문자데이터를 읽어온다. 각 생성자는 특정한 유형의 데이터소스에 적합하도록 설계되어있으니 우선 가볍게 읽어보며 참고하자. Scanner (String

standout.tistory.com

https://standout.tistory.com/146

 

입력받기, java.util.Scanner(System.in)

java.util.Scanner(System.in) 간단히, System.out의 반대를 상상하자. java.util.Scanner는 입력을 관리하는데, 직접 선언해서 쓰거나, import해서 사용할 수 있다. 입력을 받을 수 있는 코드를 java.util.Scanner(System.i

standout.tistory.com