-
java - BufferedReader, BufferedWriter 사용법Java/기초 2023. 4. 15. 22:25

BufferedReader / BufferedWriter
- buffer를 통해 읽고 쓰는 함수
- 입출력 데이터가 바로 전달되지 않고 buffering이 된 후 전달된다.
- 속도가 빠름
- 건물을 지을때 피라미드 처럼 사람이 일일히 하는것보다 건설 장비를 통해 짓는게 훨신 편하고 효율이 좋은것과 같은 느낌
주요 용어
- Buffer
- 데이터를 한 곳에서 다른 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 임시 메모리 영역
- 입출력 속도 향상을 위해 Buffer 사용
- Buffer flush
- Buffer를 이용한 입력
- BufferedReader
- Buffer에 남아 있는 데이터를 출력시킴(Buffer를 비우는 동작)
- BufferedWriter
- Buffer 를 이용한 출력
BufferedReader
- 입력 stream에서 문자를 읽는 함수
- 문자나 배열, 라인들을 효율적으로 읽기 위해 문자들을 Buffer에 저장하고(buffering)읽는 방법
- Buffer 사이즈는 사용자ㅓ가 지정할 수도 있지만 그렇지 않을 겨우 기존 default 사이즈가 사용
BufferedReader 사용법
- readLine() :
- 데이터 라인 단위로 읽기 가능
- Scanner 처럼 공백단위로 끊어주지 못한다. Enter만 경계로 인식함
- return 값이 String 으로 고정되기 때문에 String 이 아닌 다른 타입으로 입력 받으려면 형변환을 해줘야 함

BufferedWriter 사용법
- write()을 사용하여 출력할 내용을 담고, flush()을 통해서 Buffer를 비워내는 동시에 콘솔에 출력하면 된다.
- write()을 사용한다고 콘솔에 출력이 되는 것은 아니고, 반드시 flush()을 서주어야 한다. 출력이 끝났으면 close()을 통해서 stream 닫는다.
- BufferedWriter도 BufferedReader와 마찬가지로 IOException 즉 예외 처리를 꼭 해줘야한다.

주요 메서드

[출처]
https://coding-factory.tistory.com/251
[Java] BufferedReader, BufferedWriter를 활용한 빠른 입출력
BufferedReader/BufferedWriter는 Buffer에 있는 IO 클래스입니다. 입력된 데이터가 바로 전달되지 않고 중간에 버퍼링이 된 후에 전달되됩니다. 출력도 마찬가지로 버퍼를 거쳐서 간접적으로 출력장치로
coding-factory.tistory.com
https://jhnyang.tistory.com/92
[Java 자바 입출력] BufferedReader/BufferedWriter
[자바 입출력 함수] BufferedReader / BufferWriter BufferedReader/BufferedWriter은 이름처럼 버퍼를 이용해서 읽고 쓰는 함수입니다. 이 함수는 버퍼를 이용하기 때문에 이 함수를 이용하면 입출력의 효율이 비
jhnyang.tistory.com
'Java > 기초' 카테고리의 다른 글
Java - class (선언, 필드, 생성자) (0) 2023.04.15 java 2차배열, 다차원 배열 (1) 2023.04.14 Java 배열(선언, 특징, 형식, length필드) (0) 2023.04.13