[Java] 자바 입출력 스트림

2020. 7. 12. 16:08Language/Java

1. 입출력 스트림

네트워크에서 자료의 흐름이 물과 같다는 의미이다. 다양한 입출력 장치에 독립적으로 일관성 있는 입출력 방식 제공한다. 입출력이 구현 되는 곳에서는 모두 I/O 스트림을 사용한다(키보드, 파일 디스크, 메모리, 등).

구분 설명
I/O 대상 기준 입력 스트림, 출력 스트림
자료의 종류 바이트 스트림, 문자 스트림
스트림의 기능 기반 스트림, 보조 스트림

 

 

 

2. 입력 스트림, 출력 스트림

입력 스트림, 출력 스트림 도식화

1) 입력 스트림

대상으로부터 자료를 읽어 들이는 스트림이다. (FileInputStream, FileReader, BufferedInputStream, BufferedReader 등)

2) 출력 스트림

대상으로 자료를 출력하는 스트림이다. (FileOutputStream, FileWriter, BufferedOutputStream, BufferedWriter 등)

 

 

 

3. 바이트 단위, 문자 단위 스트림

바이트 스트림, 문자 스트림 도식화

1) 바이트 단위 스트림

바이트 단위로 자료를 읽고 쓴다(동영상, 음악파일, 등). (FileInputStream, FileOutputStream, BufferedInputStream, BufferedOutputStream, 등)

2) 문자 단위 스트림

문자는 2바이트씩 처리 해야 한다. (FileReader, FileWriter, BufferedReader, BufferedWriter, 등)

 

 

 

4. 기반 스트림, 보조 스트림

1) 기반 스트림

대상에 직접 자료를 읽고 쓰는 기능의 스트림이다. (FileInputStream, FileOutputStream, FileReader, FileWriter, 등)

2) 보조 스트림

직접 읽고 쓰는 기능은 없고 추가적인 기능을 제공해주는 스트림이다. 기반 스트림이나 또 다른 보조 스트림을 생성자의 매개변수로 포함한다. (InputStreamReader, OutputStreamWriter, BufferedInputStream, BufferedOutputStream, 등)

728x90

'Language > Java' 카테고리의 다른 글

[Java] 바이트 단위 스트림  (0) 2020.07.12
[Java] 표준 입출력  (0) 2020.07.12
[Java] 오류와 예외 처리  (0) 2020.07.12
[Java] 내부 클래스, 람다식, 스트림  (0) 2020.07.01