• BufferedReader/Writer 사용 이유

    • 속도 면에서 훨씬 빠름
    • 입/출력 되는 데이터가 직접 전달되지 않고 버퍼를 거쳐 전달되므로 데이터 처리의 효율성을 높임
  • BufferedReader/Writer 단점

    • Scanner는 입력된 값을 여러 타입으로 받을 수 있음(int, String 등)
    • BufferedReader/Writer의 경우 String으로 데이터 형식 고정
    • 엔터를 경계로 인식하는 등의 이유로 데이터를 추가 가공하는 것이 필요함
  • 사용 예시

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    
    StringTokenizer st = new StringTokenizer(br.readLine());
    int a = Integer.valueOf(st.nextToken());
    int b = Integer.valueOf(st.nextToken());
    
    // BufferedReader/Writer는 String 타입만 사용가능함
    bw.write(String.valueOf(a + b));
    // 자원은 사용하고 항상 닫아주기
    br.close();
    bw.close();