JAVA/JAVA
Java | I/O 표준 입출력
pathas
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 표준 입출력에 대해 살펴보았습니다.
표준 입출력은 키보드를 통해서 값을 입력받고, 콘솔창으로 출력하기 때문에
이후의 입출력 스트림에서도 많이 사용될 예정입니다.