K-DigitalTraining 강의/1. Java
[5주차] 87. 키보드 입력에서 한 줄 씩 읽어들이는 코드, Scanner는 공백 전까지만 받아올 수 있지만, 이걸 사용하면 엔터전까지의 공백을 포함해서 받아올 수 있음
이대곤
2022. 6. 8. 09:52
예시코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Ex11_07_InputStreamReader {
public static void main(String[] args) {
System.out.print("입력:");
//InputStream is = System.in; // System.in은 키보드를 의미하는데 키보드로는 1byte만 받을 수 있음
//InputStreamReader ir = new InputStreamReader(is); // 키보드의 1byte 입력을 2byte 입력으로 바꿔줌 숫자, 영어 포함, 한글까지도 입력받을 수 있게함
//BufferedReader br = new BufferedReader(ir); // 버퍼의 도움을 받아 더욱 빨리 처리
/*
위의 3줄의 코드를 한 줄로 만들면 아래와 같음
System.in은 키보드 입력인데, InputStreamReader으로 1byte의 키보드의 입력을 2byte로 변경하여 한글도 받을 수 있게 하고,
버퍼의 도움을 받아 빨리 입력받을 수 있도록 하겠다는 코드.
Scanner는 공백 전까지만 가져올 수 있지만, 이를 이용하면 엔터치기 전까지의 공백을 포함한 것까지 받아올 수 있음
*/
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String str = br.readLine(); // Scanner는 공백 전까지만 가져올 수 있지만, 이를 이용하면 엔터치기 전까지의 공백을 포함한 것까지 받아올 수 있음
System.out.println("str:" + str);
} catch (IOException e) {
e.printStackTrace();
}
}
}
실행결과
입력:재미있는 자바
str:재미있는 자바