Data Sourse ( 근원지 ) --- > Data Destination ( 목적지 )
// 방향은 바뀌지 않는다.
: 들어간 대로 나온다.
: 입력하다 멈춰도 진행은 되지만 기다려준다.
: 방향이 결정되면 바뀌지 않는다.
: fr > br 로 연결연결해서 (필터링) 입력받을 수 있음.
키보드 ( System.in) ---------> 모니터 (System.out)
<1> 바이트 스트림 ( 1 byte Stream )
: 문자 이외의 데이터 멀티미디어 관련,...
ex) xxxStream 로 끝나는게 일반적
<2> 문자 스트림 ( 2 byte Stream )
: 문자도 1byte 쓸 수는 있지만, 깨질 위험이 있어서 안전하게 사용할때 씀.
ex) xxxReader, xxxWriter 로 끝나는게 일반적
( BufferedReader , PrintWriter, FileWriter,... )
<1> 근본(Node Stream ) 스트림
: 데이터의 근원지나 목적지와 바로 연결되어 있는 스트림
<2> 다리(Bridge Stream ) 스트림
: 1바이트 > 2바이트로 바꿀 수 있음. 중간역할.
<3> 목적(filter Stream ==응용) 스트림
: 근본 스트림이 아닌 스트림.
<1> 입력 스트림
ex) xxxInputStream, xxxReader
<2> 출력 스트림
ex) xxxOutputStream, xxxxWriter
1) InputStream / OutputStream
2) Reader / Writer
3) FileInputStream / FileOutputStream
4) FileReader / FileWriter
5) InputStreamReader / OutStreamWriter
6) BufferedInputStream / BufferedOutputStream
7) BufferedReader / PrintWriter
(오토플러쉬, 메소드가 많음, 브릿지가 필요없음.)
8) DataInputStream / DataOutputStream
(기본형, UTF(채팅,메신저) 읽고쓰기가능)
9) ByteArrayInputStream / ByteArrayOutputStream
(문자+문자아닌것-메모리에 저장, like 클립보드 )
10) CharArrayReader / CharArrayWriter (문자일 경우-메모리)
11) ObjectInputStream / ObjectOutputStream
_ex)day15/C.java__
java . io . File
: 디렉토리와 파일을 모델링한 클래스
( if delete( ) 할 때는 반드시 close( ) 해주고 해야 함. )
( 안그러면 객체가 물고 있어서 삭제가 안됨)