🌱 오늘의 주제 : FileInputStream과 FileOutputStream, BufferedInputStream과 BufferedOutputStream , 문자 기반 스트림 - Reader , Writer
🌱 FileInputStream과 FileOutputStream
- 파일에 입출력을 하기 위한 스트림이다. 실제 프로그래밍에서 많이 사용되는 스트림 중의 하나이다.
🌱 BufferedInputStream 과 BufferedOutputStream
- 스트림의 입출력 효율을 높이기 위해 버퍼를 사용하는 보조스트림이다. 대부분 입출력 작업에 사용된다.
- 버퍼에 저장된 모든 데이터를 다 읽고, 그 다음 데이터를 읽기 위해 read메서드가 호출되면, BufferedInputStream은 입력소스로부터 다시 버퍼크기 만큼의 데이터를 읽어다 버퍼에 저장해 놓는다.
- BufferedOutputStream은 write메서드를 이용한 출력이 BufferedOutputStream의 버퍼에 저장된다. 버퍼가 가득 차면, 그 때 버퍼의 모든 내용을 출력소스에 출력한다. 버퍼가 가득 찼을 때만 출력소스에 출력을 하기 때문에, 마지막 출력부분이 출력소스에 쓰이지 못하고 버퍼에 남아있는 채로 프로그램이 종료 될 수 있다.
- close() , flush()를 호출해서 마지막에 버퍼에 있는 모든 내용이 출력소스에 출력되도록 해야 한다.
🌱 문자 기반 스트림 - Reader , Writer
- 문자 기반 스트림의 조상이다.
'Java' 카테고리의 다른 글
Java - 직렬화(serialization) (0) | 2023.04.12 |
---|---|
Java - BufferedReader와 BufferedWriter, InputStreamReader와 OutputStreamWriter, File (0) | 2023.04.11 |
Java - 입출력(I/O) 과 스트림(stream)이란? (0) | 2023.04.06 |
Java - 스트림(collect(), 스트림의 그룹화와 분할 (0) | 2023.04.05 |
Java - 스트림의 최종연산 (0) | 2023.04.04 |