BufferedReader / BufferWriter는 말 그대로 버퍼를 이용하여 입력 출력을 하는 메서드이다.
버퍼(buffer)
-> 데이터를 한 곳에서 다른 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 임시 메모리 영역
-> 입·출력 속도 향상을 위해 사용
버퍼 플러시(buffer flush)
-> 버퍼에 남아 있는 데이터를 출력시킨다 (버퍼를 비우는 동작)
BufferedReader -> 입력
BufferWriter -> 출력
System.out.println()과 같이 동일하게 출력을 하는 메서드이다. BufferedWriter 함수 또한 버퍼를 이용하기 때문에 성능이 print메서드 보다 좋다.
<BufferedReader 선언 방법>
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String str = bf.readLine();
int num = Integer.parseInt(str);
1. BufferedReader의 readLine()을 사용하면 데이터를 라인 단위로 읽을 수 있다. readLine() 메서드의 리턴 값은 String으로 고정되어 있기 때문에 String이 아닌 다른 타입으로 입력을 받으려면 형 변환을 꼭 해주어야 한다.
2. 예외처리를 꼭 해주어야 한다. readLine()을 할 때마다 try&catch를 활용하여 예외처리를 해주어도 되지만 대게 throws IOExeption을 통하여 작업한다.
<Read 한 데이터 가공> (대표적인 두 가지 방법)
1. StringTokenizer에 nextToken() 메서드를 통한 공백 단위의 구분.
2. String.split 메서드 활용
<BufferWriter 선언 방법>
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
'Java' 카테고리의 다른 글
[Java] 현재 날짜, 시간 출력 (0) | 2021.11.16 |
---|---|
[Java] BigInteger (0) | 2021.11.16 |
[Java] StringTokenizer (0) | 2021.11.16 |
[Java] Arrays.asList() 와 List.of()의 차이 (0) | 2021.11.10 |
[Java] 이터레이터 (Iterator) (0) | 2021.11.10 |