./categories/back-end
Java BufferedReader·BufferedWriter 입출력
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()
관련 링크: https://jhnyang.tistory.com/92
./comments