Java를 배우다보면 Scanner라는 입력 방식을 배우게된다.
Scanner 말고도 BufferedReader라는 입출력 방식이 있는데 BufferdReader에 대해 정리해보겠다.
BufferdReader
:Scanner과 유사하다.
Bufferedwriter
:System.out.println();과 유사하다.
BufferdReader 사용법
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언
String s = bf.readLine(); //String
int i = Integer.parseInt(bf.readLine()); //Int
- readLine():
- 데이터 라인 단위로 읽기 가능
- Scanner처럼 공백단위로 끊어주지는 못함. 엔터만 경계로 인식한다.
- 리턴값을 String으로 고정하기 때문에 String이 아닌 다른 타입으로 입력받으려면 타입을 지정해주어야함.
<주의 할 점>
✅예외처리를 꼭 해줘야한다.
throws IOException을 통하여 작업한다!
BufferdWriter 사용법
- buffer에 저장되어 있떤 데이터가 한번에 출력된다.
- flush()와 close를 호출해 종료해줘야한다.
Scanner와 BufferdReader의 차이
✅ 둘의 대표적인 차이는 속도이다. 적은 양의 데이터라면 성능 차이가 크게 없지만 많은 양의 데이터를 받을 때는 BufferedReader가 확연하게 높은 성능을 보여준다.