반응형
안녕하세요
저도 최근에 알고리즘을 공부하면서 BufferedReader에 대한 것을 알게되었는데요 ㅠ
이번 글에서는 Scanner와 BufferedReader의 차이점에 대해서 알아보겠습니다
둘 다 Java에서 문자열을 입력받을 때 사용하는 공통점이 있습니다
사용용도에 따라서 두 개를 적절히 사용하는 것이 중요하다고 할 수 있습니다
1. Sccaner는 버퍼 크기가 1024 chars, BufferedReader의 버퍼 크기는 8192 chars를 사용합니다
2. Scanner는 문자열을 구분하여 분석하는 파싱이 가능하고 BufferedReader는 파싱기능을 제공하지 않아 단순히 읽기만 가능합니다
3. BufferedReader는 입력 시 바로 동기화가 되지만 Scanner는 동기화가 되지 않습니다
4. BufferedReader는 즉시 IOException을 던지지만 Scanner는 숨깁니다
주로 이렇게 4가지의 차이점이 존재합니다
Scanner와 BufferedReader를 사용하는 간단한 프로그램을 만들어보겠습니다
1. 전체소스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package Blog.BufferdReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String a = br.readLine();
Scanner sc = new Scanner(System.in);
String b = sc.next();
System.out.println("BufferedReader : " + a);
System.out.println("Scanner : " + b);
}
}
|
cs |
2. 결과화면
각각 BufferedReader과 Scanner를 사용해서 데이터를 입력받는 방법에 대해서 알아봤습니다
이번에 처음으로 BufferReader와 Scanner를 파악하여 글을 작성하는 것이라 제대로 모르는 부분이 있을 수 있습니다
틀린 부분에 대해서는 댓글을 달아주시면 감사하겠습니다
반응형
그리드형
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA/이클립스] 에러 : An error has occurred. See the log file (0) | 2021.04.23 |
---|---|
BufferedWriter과 System.out.print의 차이점 (2) | 2021.04.19 |
'Requesting JavaScript AST from selection' has encountered a problem 에러 (0) | 2016.09.28 |
이클립스(Eclipse) 메뉴구성 변경하기(Shortcuts) (0) | 2016.09.28 |
이클립스 xml파일 - The word '???' is not correctly spelled 경고 (0) | 2016.09.23 |