Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

coyojo10의 개발블로그!

BufferedReader와 BufferdWriter 본문

카테고리 없음

BufferedReader와 BufferdWriter

coyojo 2022. 12. 17. 20:59

BufferedReader와 BufferdWriter는 버퍼를 사용하여 읽기와 쓰기를 하는 함수이다.

 

버퍼를 사용하지 않는 입력은, 키보드의 입력이 키를 누르는 즉시 바로 프로그램에 전달된다.

반면 버퍼를 사용하는 입력은, 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송한다. 버퍼가 가득 차거나 혹은 개행 문자가 나타나면 버퍼의 내용을 한 번에 프로그램에 전달한다.

 

한번 버퍼를 거쳐 출력되는 것보다, 키보드의 입력을 받는 즉시 출력하는 것이 더 빠른 것이 아닌가 생각할수 있다.

하드디스크는 속도가 느리다. 그리고 외부 장치(키보드, 모니터 등)와 데이터 입출력도 생각보다 시간이 오래 걸린다. 그렇기 때문에 키보드의 입력이 있을 때마다 바로 이동시키는 것 보다는, 중간에 버퍼를 두어 한번에 묶어 보내는 것이 더 효율적이고 빠른 방법이다.

 

 

 

위의 스트림은 둘 다 입력 소스로부터 자신의 내부 버퍼 크기만큼 데이터를 미리 읽고 버퍼에 저장합니다.

생성자 매개값으로 준 입력 스트림과 연결되어 8918 내부 버퍼 사이즈를 갖습니다.

BufferedInputStream bis = new BufferedInputStream(바이트 입력 스트림); //  최대 8912 바이트

BufferedReader br = new BufferedReader(문자 입력 스트림); // 최대 8912 문자

 

스트림이 데이터를 읽어들이는 방법은 InputStream / Reader 와 갖습니다.

 

 

 

 

 

FileOutputStream

: 데이터를 파일에 바이트 스트림으로 저장하기 위해 사용한다.

 

1.1 생성자

 FileOutputStream(File file)  주어진 File 객체가 가리키는 파일을 쓰기 위한 객체를 생성.
기존의 파일이 존재할 때는 그 내용을 지우고 새로운 파일을 생성.
 FileOutputStream(String fileName)  주어진 이름의 파일을 쓰기 위한 객체를 생성