BufferedReader & BufferedWriter는 buffer를 이용하여 읽고 쓴다.
사용법이 다소 번거롭지만, 빠른 입출력이 가능하여 알고리즘의 효율성을 높일 수 있다.
<BufferedReader>
Scanner | BufferedReader |
- 키보드 입력시 바로 프로그램으로 전달 - Space 또는 Enter를 경계로 입력값 구분 |
- 키보드를 입력하면 한 문자씩 버퍼로 전달하다가 버퍼의 크기가 차거나 개행문자(\n)를 만나면 프로그램으로 전달 - 받는 타입이 String으로 고정 - 예외 처리 필수 |
<BufferedWriter>
BufferedWriter의 경우 꼭 flush와 close를 함께 사용해주어야 한다.
.flush() : 버퍼 내 남아있는 모든 데이터 출력
.close() : 해당 버퍼를 더 이상 사용하지 않겠다는 뜻 -> 스트림 닫음
System.out.println과 달리 자동 개행 처리가 없기 때문에 따로 추가해 주어야 한다.
<사용 방법>
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String test = br.readLine() ;
//int test_int = Integer.parseInt(test); 숫자를 입력받은 경우 별도의 처리
bw.write(test+ "\n");
bw.flush();
bw.close();
}
}
'JAVA' 카테고리의 다른 글
VScode에 java 환경 세팅하기 (mac) (0) | 2021.06.26 |
---|---|
JAVA : Comparable & Comparator (+ 백준 11650) (0) | 2021.06.22 |
JAVA : String 또는 Char의 int 타입 변환 (0) | 2021.01.13 |
JAVA : Scanner로 문자 입력 (Char 타입) (0) | 2021.01.12 |
JAVA : System.out & StringBuilder (0) | 2021.01.08 |