Scanner
: java.util.Scanner
[특징]
자바가 가지고 있는 라이브러리이다.
공백이나 개행을 기준으로 읽는다.
버퍼 사이즈가 1024byte이다.
Thread unsafe하다.
[사용예시]
Scanner sc = new Scanner(System.in);
String st = sc.nextLine();
BufferedReader
:java.io.BufferedReader
[특징]
데이터를 한번에 읽어와 버퍼(임시 메모리)에 보관 후 데이터를 읽어온다.
데이터를 String으로만 읽고 가져온다.
버퍼 사이즈가 8192byte이다.
Thread safe 하다.
Scanner보다 소요시간이 적다.
[사용예시]
BufferedReader br = new BufferedReader(InputStreamReader(System.in));
String st = br.readLine();
InputStreamReader
InputStreamReader는 바이트 기반 스트림을 문자기반 스트림으로 연결시켜 주는 역할을 한다.
comment.
알고리즘 문제를 풀면서 차이를 명확하게 집고 넘어가고 싶어서 정리해 보았다.
성능과 스레드 처리를 위해서는 BufferedReader를 사용하는 것이 유리하나,
코드의 간결성 면에서는 Scanner가 깔끔하다는 생각도 들었다.
큰 차이가 나지 않는다면 Scanner를 써도 무방할 것으로 보인다.
'IT > JAVA' 카테고리의 다른 글
자바 역순 정렬, Collections.reverseOrder() 사용, 백준 7785 (0) | 2024.03.31 |
---|---|
next(), nextLine() (0) | 2024.03.26 |
인텔리제이 롬복 설치 및 설정 (0) | 2024.03.23 |
[Error][IntelliJ] 인텔리제이 finished with non-zero exit value 1 에러 발생 (0) | 2023.10.28 |
[Java][error]error: illegal character: ‘\ufeff’ / UTF-8 BOM 포함 에러 (0) | 2023.10.23 |