네트워크에서 자료의 흐름이 물의 흐름과 같다 하여 유래되었다.
자바는 다양한 입출력 장치에 독립적으로 일관성 있는 입출력을 제공한다.
대상으로부터 자료를 읽어 들이는 스트림
FileInputStream,FileReader,BufferedInputStream,BufferedReader등이 있으며
보통 이름에 Input 혹은 Reader등이 붙는다.
대상으로 자료를 출력하는 스트림
FileOutputStream,FileWriter,BufferedOutputStream,BufferedWriter등이 있으며
보통 이름에 Output 혹은 Writer등이 붙는다.
동영상, 음악, 실행 파일 등의 자료를 읽고 쓰는데 사용한다.
FileInputStream,BufferedInputStream,FileOutputStream,BufferedOutputStream등이 있으며
보통 이름에 Stream이 붙는다.
바이트 단위로 자료를 처리하면 문자가 깨지기 때문에 인코딩에 맞게 2바이트 이상으로 처리하는 스트림이다.
FileReader,BufferedReader,FileWriter,BufferedWriter등이 있으며
보통 Reader 혹은 Writer가 붙는다.
대상에 직접 자료를 읽고 쓰는 기능을 한다.
FileInputStream,FileOutputStream,FileReader,FileWriter등이 있으며
보통 File이 앞에 붙는다.
직접 읽고 쓰는 기능이 없어 기반 스트림이나 다른 보조 스트림을 생성자의 매개 변수로 포함하여 추가적인 기능을 더해주는 역할을 한다.
BufferedInputStream,BufferedOutputStream,InputStreamReader,OutputStreamWriter등이 있다.