춤추는 개발자

[Java] Scanner와 BufferedReader, 뭘로 입력할까? 본문

Developer's_til/그외 개발 공부

[Java] Scanner와 BufferedReader, 뭘로 입력할까?

Heon_9u 2020. 10. 1. 00:39
728x90
반응형

Scanner와 BufferedReader의 가장 큰 차이점은 속도입니다.

숫자 100만개를 입력받는데 걸리는 속도는 Scanner는 약 2.5ms / BufferedReader는 약 0.4ms

 

나머지 차이점은 다음과 같다.

 

  1. 버퍼크기 : Scanner(1024 chars), BufferedReader(8192 chars)
  2. 문자열 : Scanner는 문자열을 구분하여 분석, BufferedReader는 문자열을 단순히 읽고 저장
  3. 동기화 : Scanner은 동기화x, BufferedReader는 동기화가 가능

BufferedReader는 InputStreamReader에 버퍼링 기능이 추가된 class입니다.

일정한 크기의 데이터를 한 번에 읽어와 버퍼에 보관, 사용자의 요청이 있을 때 버퍼에서 데이터를 읽어오는 방식입니다.

 

Scanner는 Java1.5부터 java.util 패키지 내에 포함된 class입니다.

공란과 줄바꿈을 입력값의 경계로 인식, 좀 더 쉽게 데이터를 입력받을 수 있습니다.

또한, 별도의 Casting이 필요하지 않다는 점(사용하는 함수에 따라 데이터 타입이 결정)

 

728x90
반응형