스캐너Scanner & 버퍼Buffer 차이

ma·2024년 6월 26일

JAVA

목록 보기
4/4
post-thumbnail

Scanner와 BufferedReader는 모두 자바에서 입력을 받을 때 사용하는 클래스이지만, 그들의 용도와 성능, 사용 편의성에 차이가 있다. 아래에 Scanner와 BufferedReader의 차이점을 정리해 보았다.

Scanner

  • 입력을 읽기 위해 사용되는 용도로, 다양한 Data Type(int, double, etc.)을 직접 읽어들이기 편리
  • 공백이나 정규 표현식을 사용해 토큰(Token)단위로 쉽게 분리
  • nextInt(), nextDouble(), nextLine() 등을 사용해 원하는 Data Type을 읽음
기본 선언코드설명
기본 선언Scanner scanner = new Scanner(System.in);
nextInt(), nextDouble()int number = scanner.nextInt();
double number = scanner.nextDouble();
정수(int), 실수(double)를 입력 받을 때 사용
nextLine()String line = scanner.nextLine();한 줄 전체의 문자열을 입력 받을 때 사용

BufferedReader

  • 더 빠른 속도로 입력을 읽기 위해 사용
  • 기본적으로 문자열 단위로 데이터를 읽음
  • InputStreamReader와 함께 사용되어 다양한 소스로부터 입력을 받음
  • 직접 문자열을 분리 → 추가적인 코드가 필요
  • readLine() 메서드를 사용하여 한 줄씩 읽은 후, 필요에 따라 String.split() 메서드 또는 tokenizer 사용
기본 선언BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

🙆 BufferedReader를 사용하여 입력을 받은 후, StringTokenizer를 사용하여 문자열을 토큰으로 분리!

	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		n = Integer.parseInt(st.nextToken());
		k = Integer.parseInt(st.nextToken());
        
profile
내가 공부하기 위해

0개의 댓글