Java/패스트캠퍼스

I/O 스트림

hs_developer 2022. 6. 14. 20:33

자바의 입출력을 위한 I/O 스트림 

-네트워크에서 자료의 흐름이 물의 흐름과 같음

 

-자바는 다양한 입출력 장치에 독립적으로 일관성 있는 입출력을 입출력 스트림을 통해 제공

 

-입출력이 구현되는 곳: 파일 디스크, 키보드, 마우스, 네트워크, 메모리 등 모든 자료가 입력되고 출력되는 곳

 

 

 

입출력 스트림의 구분

대상 기준 입력 스트림, 출력 스트림
자료의 종류 바이트 스트림, 문자 스트림
기능 기반 스트림, 보조 스트림

 

 

입력 스트림과 출력 스트림

입력 스트림 대상으로부터 자료를 읽어 들이는 스트림
출력 스트림 대상으로 자료를 출력하는 스트림

 

 

 

스트림의 종류

종류 예시
입력 스트림 FileInputStream, FileReader, BufferedInputStream, BufferedReader 등
출력 스트림 FileOutputStream, FileWriter, BufferedOutputStream, BufferedWriter 등

 

 

바이트 단위 스트림과 문자 단위 스트림

바이트 단위 스트림: 동영상, 음악 파일, 실행 파일 등의 자료를 읽고 쓸 때 사용

문자 단위 스트림: 바이트 단위로 자료를 처리하면 문자는 깨짐, 인코딩에 맞게 2바이트 이상으로 처리하도록 구현된 스트림

 

 

 

스트림의 종류

종류 예시
바이트 스트림 FileInputStream, FileOutputStream, BufferedInputStream, BufferedOutputStream 등
문자 스트림 FileReader, FileWriter, BufferedReader, BufferedWriter 등

 

 

기반 스트림과 보조 스트림

기반 스트림 대상에 직접 자료를 읽고 쓰는 스트림
보조 스트림 직접 읽고 쓰는 기능은 없이 추가적인 기능을 더해주는 스트림

보조 스트림은 직접 읽고 쓰는 기능은 없으므로 항상 기반 스트림이나 또 다른 보조 스트림을 생성자의 매개 변수로 포함 함

 

 

 

 

스트림의 종류

종류 예시
기반 스트림 FileInputStream, FileOutputStream, FileReader, FileWriter
보조 스트림 InputStreamReader, OutputStreamWriter, BufferedInputStream, BufferedOutputStream 등

 

'Java > 패스트캠퍼스' 카테고리의 다른 글

표준 입출력 스트림  (0) 2022.06.14
스트림 & 예제  (0) 2022.06.14
제네릭  (0) 2022.06.12
Map 인터페이스 구현 클래스  (0) 2022.06.12
Set 인터페이스 구현 클래스  (0) 2022.06.12