IO(입출력)

바그다드·2023년 2월 20일
0
post-thumbnail

주인공(ConcreteComponent)과 장식(Decorator)의 구분

InputStream. OutputStream, Reader, Writer 중에 하나를 상속 받아야 함

  • 장식은 InputStream. OutputStream, Reader, Writer를 생성자에서 받아들임
  • 주인공은 어떤 대상에게서 읽어들일지 쓸지를 결정
  • 주인공은 1byte 또는 byte[] 단위로 읽고 쓰는 메서드를 가짐
  • 주인공은 1char 또는 char[] 단위로 읽고 쓰는 메서드를 가짐
  • 장식은 다양한 방식으로 읽고 쓰는 메서드를 가짐

InputStream

바이트 기반 입력 스트림의 최상이 클래스(인터페이스)

주요 메서드

  • read() : 입력 스트림으로부터 1바이트를 읽고 읽은 바이트를 리턴
  • read(byte[] b) : 입력 스트림으로부터 읽은 바이트를 배열 b에 저장 후 읽은 바이트 수 리턴
  • read(byte[] b, int off, int len) : 입력 스트림으로부터 배열 b[off]부터 len개까지 저장 후, 읽은 바이트 수인 len을 리턴
  • close() : 시스템 자원을 반납 후 스트림을 닫음

OutputStream

바이트 기반 출력 스트림의 최상위 클래스(인터페이스)

주요 메서드

  • write(int b): 출력 스트림으로 1바이트를 보냄
  • write(byte[] b) : 출력 스트림에 바이트 배열 b를 보냄
  • write(byte[] b, int off, int len) : 출력 스트림에 바이트 배열 b[off]부터 len개까지의 바이트를 보냄
  • flush() : 버퍼에 잔류하는 모든 바이트 출력
  • close() : 시스템 자원을 반납 후 스트림을 닫음

Reader

문자 기반 입력 스트림의 최상위 클래스(인터페이스)

주요 메서드

  • read() : 입력 스트림으로부터 하나의 문자를 읽고 리턴
  • read(char[] chars) : 입력 스트림으로부터 읽은 문자를 배열 char에 저장 후 읽은 문자 수 리턴
  • read(char[] chars, int off, int len) : 입력 스트림으로부터 읽은 len개의 문자열을 chars[off]부터 len개까지 저장 후, 읽은 글자 수인 len을 리턴

Writer

문자 기반 출력 스트림의 최상위 클래스(인터페이스)

주요 메서드

  • write(int a) : 출력 스트림으로 a 한 문자를 보냄
  • write(char[] chars) : 출력 스트림으로 문자 배열 chars를 보냄
  • write(char[] chars, int off, int len) : 출력 스트림으로 chars[off]부터 len개까지의 문자를 보냄
  • write(String str) : 출력 스트림으로 str을 보냄
  • write(String str, int off, int len) : str[off]부터 len개까지의 문자를 보냄
  • flush() : 버퍼에 남아있는 모든 문자열을 출력
  • close() : 시스템 자원을 반납 후 스트림을 닫음
profile
꾸준히 하자!

0개의 댓글