판봉 개발 일기

입출력 관련 API 본문

자바 복습

입출력 관련 API

판봉 2021. 7. 17. 14:43
728x90

콘솔은 시스템을 사용하기 위하여 키보드로 입력을 받고 모니터로 출력하는 소프트웨어입니다.

참고로 자바는 콘솔로부터 데이터를 입력받을때 System.in을 사용하며,반대로 출력할 경우엔 System.out을 사용합니다.

에러를 출력할땐 System.err를 사용합니다.


System. in 필드

자바는 System 클래스의 in 정적 필드를 제공합니다.

또한 System.in은 InputStream 타입의 필드이므로 다음과 같이 InputStream 변수로 참조가 가능합니다.

InputStream is = System.in;

또한 키보드로부터 무슨 키가 입력이 되었는지 확인하려면 InputStream의 read()메소드로 1byte를 읽으면 됩니다.

리턴된 int의 값엔 해당 키의 코드가 저장이 되어져있습니다.

int keyCode = is.read();

그리괴 어차피 키보드로 입력되는 것은 문자입니다.

Enter키가 입력된 뒤 라인단위로 전체 문자열을 읽는 것은 다음과 같습니다.

InputStream is = System.in;
Reader reader = new InputStreamReader(is);
BufferedReader br = new BufferedReader(reader);

그리고 BufferedReader엔 readLine()메소드가 있기때문에 이것을 활용할 수가 있습니다.

String lineStr = br.readLine();

다음 코드는 위와 관련된 코드입니다.

import java.io.*;

public class GetLineStringFromKeyboard() {
	public static void main(String[] args) throws Exception {
    	InputStram is = System.in;
        Reader reader = new InputStreamReader(is);
        BufferedReader br = new BufferReader(reader);
        
        while(true) {
        	System.out.print("입력하세요:"):
            String lineStr = br.readLine();// 라인 단위로 문자열을 읽습니다.
            if(lineStr.equals("q") || lineStr.equals("quit")) break; //둘중 하나라도될경우
            System.out.print("입력된 내용 : " + lineStr);
            System.out.println();
        }
        
        br.close();// 스트림닫기
    }
}//실행을 한번 해보세요

System.out필드

System.out은 PrintStream 타입의 필드입니다. 

그래서 print(). println(), printf()와 같은 메소드를 이용해 모니터에 출력이 가능합니다.

다음은 Scanner 클래스에 대하여 알아보겠습니다.

'자바 복습' 카테고리의 다른 글

File 클래스란 무엇인가  (0) 2021.07.17
Scanner 클래스는 무엇인가  (0) 2021.07.17
객체 입출력 보조 스트림  (0) 2021.07.16
프린터 보조 스트림  (0) 2021.07.16
기본 타입 입출력 보조 스트림  (0) 2021.07.15