대량의 데이터를 빠르게 처리하려면 BufferedReader가 유리하며, 데이터의 양이 적고 편리한 타입 변환을 원한다면 Scanner가 유리하다.
| Scanner | BufferedReader | |
|---|---|---|
| 성능 | 느림 (작은 버퍼 크기) | 빠름 (큰 버퍼 크기) |
| 파싱 | 자동 파싱 지원 (nextInt, nextDouble 등) | 수동 형변환 필요 |
| 동기화 | 비동기 (Multi-thread 환경 부적합) | 동기화 지원 (Thread-safe) |
| 예외 처리 | 생략 가능한 RuntimeException | 반드시 처리가 필요한 IOException |