본문 바로가기
Java

자바 입출력: Scanner vs BufferedReader

by Hyun-danpung2 2022. 2. 26.
728x90
반응형

처음 자바를 배울 때는 키보드에서 입력받기 위해 Scanner를 사용했다. 그리고 혼자 공부를 시작하면서 BufferedReader를 더 많이 사용하기 시작했다. 그런데 막상 그 차이점은 잘 모르고 단순히 BufferedReader가 더 효율적이라는 말에 쓰기 시작했다. 그래서 두 가지를 비교해보았다.

 

 

 

1. Scanner

  • java.util 패키지
  • 키보드에서 입력받는 대로 바로 처리
  • 엔터와 스페이스로 구분 -> 공백 입력 불가
  • 원하는 타입으로 받을 수 있음
import java.util.Scanner;

    Scanner scanner = new Scanner(System.in);
    int n;

    n = scanner.nextInt();

 

2. BufferedReader

  • java.io 패키지
  • 키보드의 입력을 버퍼에 저장했다가 한번에 처리
  • 엔터로 구분
  • 무조건 String으로 받기 때문에 다른 타입으로 이용하려면 형변환 필요
  • 예외 처리 필요
import java.io.BufferedReader;
import java.io.InputStreamReader;

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n;
        try {
            n = Integer.parseInt(br.readLine());
        } catch (Exception e){
            // 예외 시
        }

 

 

 

*일반적으로 BufferedReader가 Scanner보다 빠르다고 한다.

728x90
반응형

'Java' 카테고리의 다른 글

[Java] Linux-centOS7에 openJDK 11 설치하기  (0) 2022.08.29
[스프링부트] 어노테이션(Annotation) 정리  (0) 2022.06.25
자바의 특징과 구조  (0) 2022.02.25
이클립스 vs 인텔리제이  (0) 2022.02.25
자바 8 vs 자바 11  (0) 2022.02.25