[Java 기능] 표준 입출력 스트림

2022. 2. 16. 20:24·Java & Kotlin
목차
  1. System 클래스의 표준 입출력 멤버
  2. 예제 코드

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

public class System {
          public static PrintStream out;
          public static InputStream in;
          public static PrintStream err;
}
  • System.out : 표준 출력(모니터) 스트림
  • System.in : 표준 입력(키보드) 스트림
  • System.err : 표준 에러 출력(모니터) 스트림

 

예제 코드

문자를 입력받아 출력하는 코드

 

SystemInTest1.java
package ch13;

import java.io.IOException;

public class SystemInTest {

	public static void main(String[] args) {
		
		System.out.println("알파벳 하나를 쓰고 [Enter]를 누르세요");
		
		int i;
		
		try {
			i = System.in.read();	// read()의 반환값 int
			System.out.println(i);
			System.out.println((char)i);	// 문자 출력
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

 

수행 결과
알파벳 하나를 쓰고 [Enter]를 누르세요
A	// 입력
65
A

 

알파벳 여러개를 입력받는 경우
package ch13;

import java.io.IOException;

public class SystemInTest {

	public static void main(String[] args) {
		
		System.out.println("알파벳 여러개를 쓰고 [Enter]를 누르세요");
		
		int i;
		
		try {
			while((i = System.in.read()) != '\n') {	// new line이 들어오지 않을 때까지 read
				System.out.print((char)i);
			}	
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

 

수행 결과
  • 알파벳을 입력 받는 경우
알파벳 여러개를 쓰고 [Enter]를 누르세요
abcde	// 입력
abcde

 

  • 한글을 입력받는 경우
알파벳 여러개를 쓰고 [Enter]를 누르세요
안녕하세요	// 입력
¾?³???¼¼¿?
  • read()는 바이트 단위로 읽음
  • 한글과 같은 문자는 2바이트씩 읽어들여야 함
  • 보조 스트림을 이용하여 구현할 수 있음

 

InputStreamReader 스트림 활용
  • InputStreamReader : Byte를 문자로 바꿔주는 클래스
  • 매개변수로 스트림을 입력받음
int i;

try {
    InputStreamReader isr = new InputStreamReader(System.in);	// 보조 스트림 
    while((i = isr.read()) != '\n') {	// 보조 스트림 인스턴스로 read
        System.out.print((char)i);
    }	
} catch (IOException e) {
    e.printStackTrace();
}

 

수행 결과
알파벳 여러개를 쓰고 [Enter]를 누르세요
안녕하세요	// 입력
안녕하세요
저작자표시 비영리 변경금지 (새창열림)

'Java & Kotlin' 카테고리의 다른 글

[Java 기능] 바이트 단위 입출력 스트림  (0) 2022.02.17
[Java 기능] I/O 스트림  (0) 2022.02.16
[Java 기능] 오류 로그 남기기 - java.util.logging.Logger 활용  (0) 2022.02.16
  1. System 클래스의 표준 입출력 멤버
  2. 예제 코드
'Java & Kotlin' 카테고리의 다른 글
  • [Java 기능] 문자 단위 입출력 스트림
  • [Java 기능] 바이트 단위 입출력 스트림
  • [Java 기능] I/O 스트림
  • [Java 기능] 오류 로그 남기기 - java.util.logging.Logger 활용
Sue
Sue
개발 공부 로그
  • Sue
    Sue's devlog
    Sue
  • 전체
    오늘
    어제
    • 분류 전체보기 (122)
      • Algorithm (2)
      • WEB (8)
      • Java & Kotlin (83)
      • Spring (26)
      • Database (1)
      • Infra (0)
      • Git (1)
      • devlog (1)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Sue
[Java 기능] 표준 입출력 스트림

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.