본문 바로가기
SSAFY/Daily

20220126 JAVA I/O & Stream

by Hunveloper 2022. 2. 4.
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 단위가 유리
  • Buffered 계열
    • 스트림의 입/출력 효율을 높이기 위해 버퍼를 사용하는 Stream
  • 객체 직렬화(serialization)
    • 객체를 저장하거나 네트워크로 전송하기 위해 연속적인 데이터로 변환
    • 조건
      • Serializable 인터페이스를 구현
      • 클래스의 모든 멤버가 Serializable 인터페이스를 구현
      • 제외하는 멤버는 transient를 이용하여 예외 처리
728x90
728x90

'SSAFY > Daily' 카테고리의 다른 글

20220203 Algo  (0) 2022.02.04
20220127 JAVA 공공데이터 XML SWING  (0) 2022.02.04
20220125 JAVA 예외처리  (0) 2022.02.04
20220124 JAVA 추상클래스  (0) 2022.02.04
20220120 JAVA 생성자 및 상속  (0) 2022.01.20

댓글