BufferedReader는 Scanner와 유사하고
BufferedWriter는 System.out.println과 유사하다.
Buffered는 입력된 데이터가 바로 전달되지 않고 버퍼를 거쳐 전달되므로 데이터 처리 효율이 높다.
이들을 사용하기 위해선 다음의 import가 필요하다.
BufferedReader는 Enter로만 경계로 인식하고 받는 데이터가 String으로 고정되기 때문에 입력받은 데이터를 가공하는 작업이 필요한 경우가 많다.
입력은 readLine()라는 메서드를 활용하는데, 주의점이 있다.
☁ readLine() 일 때 리턴값을 string으로 고정되기에 string이 아닌 다른 타입으로 입력받으려면 반드시 형변환을 해야 한다.
☁ 예외처리를 해야한다. 보통 throws IO Exception을 통해 작업한다.
throw이용시
☁ 클래스를 import 해야 한다.
import java.io.Exception;
☁ main클래스 옆에 throws IOException을 작성한다.
public static void main(String[] args) throws IOException
BufferedWriter의 경우 버퍼를 잡아놓았기 때문에 반드시 flush()/close()를 써야 한다.
bw.write 에는 System.out.println()과 같이 자동재행기능이 없기 때문에 \n 처리를 해준다.
Read한 데이터는 Line단위로 나눠지기에 공백단위로 데이터를 가공하려면 따로 작업해 주어야 한다.
☁ StringTokenizer에 nextToken()을 쓰면 readLine()을 통해 입력받은 값을 공백단위로 구분할 수 있다.
☁ String.split()함수를 이용해 배열에 공백단위로 끊어서 데이터를 넣고 사용한다.