본문 바로가기

Java

[Java] BufferedReader / BufferWriter

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