코딩 기록들

[자바의 다양한 기능들] 7.2 표준 입출력 스트림 본문

Java

[자바의 다양한 기능들] 7.2 표준 입출력 스트림

코딩펭귄 2024. 1. 11. 12:23

System  클래스의 표준 입출력 멤버

public class System{ 
	public static PrintStream out; 
	public static InputStream in; 
	public static PrintStream err; 
}
System.out
  • 표준 출력(모니터) 스트림
  • System.out.println("출력 메세지");
System.in
  • 표준 입력(키보드) 스트림
  • int d = System.in.read() // 한 바이트 읽기
System.err
  • 표준 에러 출력(모니터) 스트림
  • System.err.println("에러 메세지")
  • 빨간 줄로 에러메시지 출력됨
public class SystemInTest1 {

	public static void main(String[] args) {
		System.out.println("알파벳 하나를 쓰고 [Enter]를 누르세요");
		
		int i;  //값 하나를 받음
		try {
            //stream : 한 바이트씩 읽고 출력하므로, 한글을 넣으면 깨져서 출력됨(한글=2바이트) 
            // -> 보조스트림 (ex. InputStreamReader) 으로 감싸면해결됨
			InputStreamReader irs = new InputStreamReader(System.in); //바이트를 문자로 바꿔줌
            
            //read의 반환값=int 이므로 A 입력시 65 출력됨
			while((i = irs.read()) != '|n'){ 
			
            // System.out.println(i);
			System.out.println((char)i); //char()로 감싸줘야 65가 아닌 A가 출력됨
            }
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}