반응형
- 스트림이란?
스트림은 가상 통로를 뜻하며 자바의 모든 입출력은 스트림을 통해 이루어진다.
입출력 기능을 사용하는 곳은 파일 디스크, 키보드, 모니터, 메모리 입출력, 네트워크 등이 있음
- 입력 스트림과 출력 스트림
입력 스트림: 어떤 대상으로부터 자료를 읽어 들일 때 사용
출력 스트림: 편집 화면에 사용자가 쓴 글을 파일에 저장할 때 사용
스트림은 단방향이기 때문에 입력과 출력이 동시에 이루어질 수는 없음.
종류 | 예시 |
입력 스트림 | FileInputStream, FileReader, BufferedInputStream, BufferedReader |
출력 스트림 | FileOutputStream, FileWriter, BufferedOutputStream, BufferedWriter |
- 바이트 단위 스트림과 문자 단위 스트림
자바의 스트림은 바이트 단위로 입출력이 이루어지는데 자바에서 하나의 문자를 나타내는 char형은 2바이트이기 때문에 1바이트만 읽으면 한글 같은 문자는 깨짐. 따라서 입출력 중 가장 많이 사용하는 자료인 문자를 위해 문자 스트림을 별도로 제공.
바이트 단위 스트림: 스트림 클래스의 이름이 Stream으로 끝남
문자 단위 스트림: Reader 또는 Writer로 끝나는 스트림 클래스
종류 | 예시 |
바이트 스트림 | FileInputStream, FileOutputStream, BufferedInputStream, BufferedOutputStream |
문자 스트림 | FileReader, , FileWriter, BufferedReader, BufferedWriter |
- 기반 스트림과 보조 스트림
기반 스트림: 읽어 들일 곳(소스)나 써야할 곳(대상)에서 직접 읽고 쓸수 있으며 입출력 대상에 직접 연결되어 생성됨
보조 스트림: 직접 읽고 쓰는 기능이 없고, 다른 스트림을 포함하여 생성됨
댓글