1. 스트림
: 순서가 있는 일련의 데이터를 의미하는 추상적 개념.
ex) source -> program ( 입력스트림)
source <- program ( 출력스트림)
: 1byte Stream (Byte Stream) => 8비트로 오디오/ 비디오
: 2byte Stream(Char Stream) => 16비트로 데이터의 입출력(텍스트)
** Node Stream : 타켓으로 부터 직접 읽고 쓰는 스트림.
파일을 오픈하며 연결하는 역할.
입/ 출력 과정에 있어서 반드시 1개가 존재해야 한다.
ex) FileReader/ FileWriter (char 용) +
FileInputStream/ FileOutputStream ( Byte 용)
=> 1byte 인지 2byte인지에 형식에 따라 파일 읽고
쓰는 Node Stream이 달라진다.
** Filter Stream : source 와 program 사이의 중간 과정에서 존재하며
0개 이상 존재한다. ( 가공 역할)
2. java.io 패키지
: 자바 입출력 기능 구현 프로그램 개발시 필요한 클래스 포함.
java.io 패키지
> File
> InputStream > FileInputStream / BufferedInputStream
> OutputStream > FileOutputStream / BufferedOutputStream
> Reader > BufferedReader / InputStreamReader>FileReader
>Writer > BufferedWriter/ OutputStreamWriter > FileWriter
^
이 첫칸에 해당하는 것은 모두 abstract 클래스이다.