ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java | I/O 표준 입출력
    JAVA/JAVA 2020. 2. 6. 22:14

    표준 입출력

    자바에서 미리 정의해둔 표준 입출력 클래스
    표준 입출력은 콘솔 화면에 입출력된다고 해서 콘솔 입출력이라고도 함

    • System.in: 표준 입력용 스트림
    • System.out: 표준 출력용 스트림
    • System.err: 표준 오류 출력 스트림

    ※ in, out, err 는 모두 정적 변수이기 때문에 System 클래스를 생성하지 않고도 사용 가능


    표준 입출력 Method

    메소드 설명
    System.in.read() 키보드로 입력된 값을 읽어들임, 더 이상 읽어들일 수 없으면 -1 리턴
    System.out.write() ( )안에 입력된 값을 화면(콘솔)에 출력
    컴퓨터가 숫자로 저장하고 있는 것을 사람이 읽을 수 있는 문자로 디코딩해서 출력
    System.out.flush() 출력은 버퍼에 일정 용량 이상이 쌓여야 가능한데,
    버퍼를 비워서 바로 출력하도록 하는 메소드
    데이터를 일정 용량 쌓아두었다가 출력하는 이유는 입출력 성능 향상을 위함

    ※ 입출력 메소드 사용시 반드시 예외 처리를 해야함


    예제_System.in.read() & System.out.write()

    콘솔창에서 입력받은 문자열을 그대로 다시 콘솔창에 출력함

    package j200206;
    
    // java.io: 입출력에 필요한 package
    import java.io.*;
    
    public class SimpleIn {
    
        // 입출력 메소드는 반드시 예외처리를 해주어야함
        // 예외가 발생하지 않는 경우에는 throws문으로 간단하게 처리
        public static void main(String[] args) throws IOException {
    
            // 영문자, 한글, 숫자, 특수기호 등을
            // 컴퓨터는 모두 숫자로 읽어 들이기 때문에 int 자료형 변수 선언
            int charRead;
    
            System.out.println("아무 문자열이나 입력 하시오");
    
            /* 얼마나 읽어들일지를 알 수 없기 때문에 while문 사용
            아스키코드, 유니코드는 전부 0이상의 수로 이루어져 있고,
            System.in.read()는 파일을 읽을 수 없을 때
            -1을 리턴하기 때문에 아래와 같은 조건식 작성 
            */
    
            while ((charRead = System.in.read()) >= 0) {
            // 컴퓨터가 저장하고 있는 숫자를 사람이 읽을 수 있도록 출력
                System.out.write(charRead);
            }
    
            /*
            아무 문자열이나 입력 하시오
            안녕하세요
            안녕하세요
            */
    
        }
    
    }

    자바를 시작하면서부터 써왔던 System.out 과

    스캐너 객체를 생성할 때 많이 사용했던 System.in 표준 입출력에 대해 살펴보았습니다.

    표준 입출력은 키보드를 통해서 값을 입력받고, 콘솔창으로 출력하기 때문에

    이후의 입출력 스트림에서도 많이 사용될 예정입니다.

    댓글

Designed by Tistory.