nugawiki

./categories/back-end

Java BufferedReader·BufferedWriter 입출력

업데이트 2026-07-21 조회수

BufferedReader / BufferedWriter — 버퍼 기반 입출력

버퍼(메모리)에 데이터를 모았다가 한번에 전송해서 Scanner/System.out.print보다 빠름. 알고리즘 문제 풀이 등 대량 입출력 시 사용.

BufferedReader

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   // 콘솔 입력
BufferedReader br_f = new BufferedReader(new FileReader("파일명"));           // 파일 입력

int num = Integer.parseInt(br.readLine());   // readLine()은 String 리턴 → 형변환 필요
br.close();

String line;
while ((line = br_f.readLine()) != null) {
    System.out.println(line);
}
  • Scanner와 달리 공백 단위 분리 없이 라인 단위(엔터 기준)로만 읽음 → 공백 분리 필요 시 StringTokenizer 또는 String.split() 사용
  • 주요 메서드: read()(한 글자, int로 반환), read(char[] cbuf, offset, length), readLine(), ready(), mark()/reset(), skip(n), close()

BufferedWriter

BufferedWriter bw = new BufferedWriter(new FileWriter("bufferedWriter.txt"));
bw.write("hello\n");
bw.newLine();          // 개행
bw.write("I am writing\n");
bw.flush();            // 버퍼에 남은 데이터 출력
bw.close();
  • 개행 함수 없음(System.out.println과 달리) → "\n" 또는 newLine() 사용
  • 사용 후 flush()close() 순서로 마무리
  • 주요 메서드: write(int c), write(String s, offset, length), newLine(), flush(), close()

./comments