SSAFY/Daily
20220126 JAVA I/O & Stream
Hunveloper
2022. 2. 4. 00:39
728x90
I/O 와 Stream
- 데이터는 한쪽에서 주고 한쪽에서 받는 구조
- 입력과 출력의 끝단 : Node
- 두 노드를 연결하고 데이터를 전송할 수 있는 개념 : Stream (단방향 통신만 가능)
- XXStream(Byte 처리), XXer(Char 처리)
- InputStream의 주요 메서드
- Byte 한개씩 읽음
- Buffer 만큼씩 읽음
- Reader의 주요 메서드
- Buffer 만큼씩 읽음
- File : 파일과 디렉토리를 다루는 클래스
- String name 대신 File 객체 사용 가능
- 노드 스트림 활용
- FileReader, FileWriter
보조 스트림
- 보조 스트림 : Filter Stream, Processing Stream
- 다른 스트림에 부가적인 기능을 제공하는 스트림
- 스트림 체이닝 (Stream Chaining) : 필요에 따라 여러 보조 스트림을 연결해 사용
- InputStreamReader & OutputStreamWriter
- byte기반 스트림을 char 기반으로 변경해주는 스트림
- 문자열 관리시 byte 보다 char 단위가 유리
- byte기반 스트림을 char 기반으로 변경해주는 스트림
- Buffered 계열
- 스트림의 입/출력 효율을 높이기 위해 버퍼를 사용하는 Stream
- 객체 직렬화(serialization)
- 객체를 저장하거나 네트워크로 전송하기 위해 연속적인 데이터로 변환
- 조건
- Serializable 인터페이스를 구현
- 클래스의 모든 멤버가 Serializable 인터페이스를 구현
- 제외하는 멤버는 transient를 이용하여 예외 처리
728x90
728x90