-
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 표준 입출력에 대해 살펴보았습니다.
표준 입출력은 키보드를 통해서 값을 입력받고, 콘솔창으로 출력하기 때문에
이후의 입출력 스트림에서도 많이 사용될 예정입니다.
'JAVA > JAVA' 카테고리의 다른 글
Java | I/O 문자 단위 스트림 (0) 2020.02.06 Java | I/O 바이트 단위 스트림 (0) 2020.02.06 Java | I/O(Input / Output) 입출력 개요 (0) 2020.02.06 Java | 예외 처리 throws & throw (0) 2020.02.05 Java | 예외 처리 try~catch~finally (0) 2020.02.05