plzy의 개발 블로그

Scanner vs BufferedReader의 차이점에 대해 알아보자. 본문

알고리즘/자료구조

Scanner vs BufferedReader의 차이점에 대해 알아보자.

plzyhappy 2022. 4. 18. 11:23

백준 사이트로 코딩 테스트를 풀다 보면 BufferedReader로 입력값을 받을 것이다.

기존에는 Scanner로 받았지만 왜 BufferedReader로 입력값을 받는 걸까?

그 두 개의 차이점과 무엇을 써야 할지 알아보자.

 

  • Scanner
  1. 정규 표현을 사용해 원시적 형태 및 라인을 구문 분석할 수 있는 간단한 텍스트 스캐너이다.
  2. java.util 에 위치해 있다
  3. thread로부터 안전하지 않다.
  4. 버퍼 사이즈가 1042byte (1KB)이다.
  • BufferedReader
  1. 문자를 버퍼링 하여 문자 협력 스트림에서 텍스트를 읽는다.
  2. java.io package에 있다.
  3. thread로부터 안전하지 않는다.
  4. 버퍼 사이즈가 8192byte (8KB)이다.
  • 차이점
  1. BufferedReader는 동기화되지만 Scanner은 동기화되지 않는다.
  2. BufferedReader는 스레드로부터 안전하지만 Scanner는 안전하지 않는다.
  3. BufferedReader는 버퍼 메모리가 더 크지만 Scanner는 버퍼 메모리가 더 작다.
  4. BufferedReader는 실행 속도가 Scanner보다 더 빠르다.

이러한 이유로 BufferedReader 써야겠다.

 

 

참고한 레퍼런스

https://shs2810.tistory.com/19

 

Scanner vs BufferedReader

자바를 입력하는데 Scanner 와 BufferedReader 를 사용하는데... 이 둘의 차이를 정확히 자세히 모르겠당.. 그래서 정리!! 1. Scanner : 정규 표현을 사용해 원시적 형태 및 라인을 구문 분석할 수 있는 간단

shs2810.tistory.com

https://stackoverflow.com/questions/2231369/scanner-vs-bufferedreader

 

Scanner vs. BufferedReader

As far I know, the two most common methods of reading character-based data from a file in Java is using Scanner or BufferedReader. I also know that the BufferedReader reads files efficiently by usi...

stackoverflow.com

 

'알고리즘 > 자료구조' 카테고리의 다른 글

[Kotlin] Deque 란 무엇인가?  (0) 2022.04.25