14-1 입출력 스트림

지미미·2023년 4월 21일
0

Java

목록 보기
14/16
post-thumbnail

입출력 스트림

자바에서 데이터는 스트림(Stream)을 통해 입출력된다. 프로그램이 출발지냐 또는 도착지냐에 따라서 사용하는 스트림의 종류가 결정된다. 프로그램이 도착이면 흘러온 데이터를 입력받아야하므로 입력 스트림을 사용한다. 반대로 프로그램이 출발지면 데이터를 출력해야하므로 출력 스트림을 사용한다.

바이트(byte) 기반 스트림

그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 깨 사용

바이트 출력 스트림 OutputStream

바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스이다. 모든 바이트 기반 출력 스트림은 OutputStream 클래스를 상속 받아서 만들어진다.

  • OutputStream 클래스의 주요 메소드
  1. write(int b) 1byte를 출력한다.
    1. write(byte[] b) 매개값으로 주어진 배열 b의 모든 바이트를 출력한다.
    2. write(byte[] b, int off, int len) 매개값으로 주어진 배열 b[off]부터 len개까지의 바이트를 출력한다.
    3. flush() 출력 버퍼에 잔류하는 모든 바이트를 출력한다.
    4. close() 출력 스트림을 닫는다.

바이트 입력 스트림 InputStream

바이트 기반 입력 스트림의 최상위 클래스로 추상 클래스이다. 모든 바이트 기반 입력 스트림은 InputStream 클래스를 상속 받아서 만들어진다.

  • InputStream 클래스의 주요 메소드
  1. read() 1byte를 읽고 리턴한다.
    1. read(byte[] b) 읽은 바이트를 매개값으로 주어진 배열에 저장하고 읽은 바이트 수를 리턴한다.
    2. read(byte[] b, int off, int len) len개의 바이트를 읽고 매개값으로 주어진 배열에서 b[off]부터 len개까지 저장한다. 그리고 읽은 바이트 수를 리턴한다.
    3. close() 입력 스트림을 닫는다.

문자(character) 기반 스트림

문자 데이터를 읽고 출력할 때 사용

문자 출력 스트림 Writer

문자 기반 출력 스트림의 최상위 클래스로 추상 클래스이다. 모든 문자 기반 출력 스트림은 Writer 클래스를 상속 받아서 만들어진다.

  • Writer 클래스의 주요 메소드
  1. write(int c) 매개값으로 주어진 한 문자를 보낸다.
    1. write(char[] cbuf) 매개값으로 주어진 배열의 모든 문자를 보낸다.
    2. write(char[] cbuf, int off, int len) 매개값으로 주어진 배열 cbuf[off]부터 len개까지의 문자를 보낸다.
    3. write(String str, int off, int len) 매개값으로 주어진 문자열에서 off 순번부터 len개까지의 문자를 보낸다.
    4. flush() 버퍼에 잔류하는 모든 문자를 출력한다.
    5. close() 출력 스트림을 닫는다.

문자 입력 스트림 Reader

문자 기반 입력 스트림의 최상위 클래스로 추상 클래스이다. 모든 문자 기반 입력 스트림은 Reader 클래스를 상속 받아서 만들어진다.

  • Reader 클래스의 주요 메소드
  1. read() 1개의 문자를 읽고 리턴한다.
    1. read(char[] cbuf) 읽은 문자들를 매개값으로 주어진 배열에 저장하고 읽은 문자 수를 리턴한다.
    2. read(char[] b, int off, int len) len개의 문자를 읽고 매개값으로 주어진 배열에서 cbuf[off]부터 len개까지 저장한다. 그리고 읽은 문자 수를 리턴한다.
    3. close() 입력 스트림을 닫는다.
profile
블루라이트로 광합성 하는 새럼

0개의 댓글