JAVA

Test176.java / 자바의 기본입출력 / Reader 실습(문자 기반 스트림 객체)

universedevelope 2022. 10. 30. 22:51
/* ===========================================
     ■■■ 자바의 기본 입출력(I/O) ■■■
=========================================== */

// Reader 실습

import java.io.Reader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Test176
{
	public static void main(String[] args) throws IOException
	{
		int data;
		char ch;

		// System.in : 자바 표준 입력 스트림 → 바이트 기반 스트림
		// InputStreamReader : 바이트 기반 스트림 → 문자 기반 스트림으로
		//                   : 변환해주는 역할 수행
		// Reader            : 문자 기반 스트림 객체

		Reader rd = new InputStreamReader(System.in);

		System.out.println("문자열 입력(종료 : Ctrl+z)");

		while ((data = rd.read())!= -1)
		{
			ch = (char)data;
			//System.out.print(ch);
			System.out.write(ch);
		}
		// 문자기반으로 읽었는데 문자기반으로 출력한 경우
		/*
		문자열 입력(종료 : Ctrl+z)
		abcd
		abcd
		1234
		1234
		ㄱㄴㄺㅇ
		ㄱㄴㄺㅇ
		*/
	
		// 문자기반으로 읽었는데 바이트기반으로 출력한 경우
		/*
		문자열 입력(종료 : Ctrl+z)
		rkskfk
		rkskfk
		가나랃아
		 쁼D
		*/
	
	}
}
728x90