📌 Stream : 일련의 연속성을 가진 순차적 데이터의 흐름. 데이터 전송을 위한 단방향 통로
* 스트림의 종류
1. 전송 데이터 크기에 따른 분류
1) byte stream(1byte) : inputStream/OutputStream
ex) FileIn(Out)putStream, ByteArrayIn(Out)putStream, SocketIn(Out)putStream
2) char stream(2byte) : Reader/Writer
ex) FileReader(Writer), OracleClobReader(Writer), PrintWriter
2. 스트림 생성 방법과 필터링 여부에 따른 분류
1) 1차 스트림 : 매체를 대상으로 직접 생성 및 개방할 수 있는 스트림
ex) FileIn(Out)putStream, FileReader(Writer)
2) 2차(연결형) 스트림 : 1차 스트림을 대상으로 연결형으로 생성되는 스트림 // 기본생성자가 없고 1차스트림에 연결
buffered : BufferedReader(:Scanner와 유사/ BufferedWriter:System.out.println();과 유사), BufferedIn(Out)putStream
filtered : DataIn(Out)putStream
직렬화/역직렬화 : (Serialization/Deserialization) : ObjectIn(Out)putStream
***-Serializable 객체의 상태를 전송이나 저장을 위해 바이트 배열의 형태로 바꾸는 작업
- 매체 저장되어 있거나 전송된 바이트 배열로부터 Serializable 객체의 상태를 복원하는 작업(역직렬화)
**스트림을 통해 데이터를 읽는 단계
1. 매체를 핸들링 할 수 있는 형태의 객체로 생성. ex) new File("d:/contents/cat1.jpg");
2. 단방향 1차 스트림 객체 생성, 매체를 대상으로 생성. ex) new FileInputStream(file);
2-1. 필요시, 1차 스트림을 대상으로 2차 스트림 연결형으로 생성
3. EOF, EOS(end of file, end of stream)(-1,null)반복적인 읽기
4. 2차에서 1차 순으로 stream 종료(close)
'웹기반 애플리케이션' 카테고리의 다른 글
JSP, Servlet컨테이너의 역할 (0) | 2023.03.09 |
---|---|
클라이언트의 전송 컨텐츠 확보/ Http(Stateless, Connectless) response packaging(1) (0) | 2023.03.09 |
Http Request packaging(2) (0) | 2023.03.03 |
Http Request packaging(1) (0) | 2023.03.02 |
JSP(Java Server Page)란? (0) | 2023.03.02 |