보조 스트림, 필터 스트림((filter stream), 스트림 체인 (Stream Chain)

CODEDRAGON Development/Java

반응형


 

보조 스트림

·       다른 스트림과 연결되어 여러 가지 편리한 기능으로 문자변환, 입출력 성능향상, 기본 데이터 타입 입출력, 객체 입출력등의 기능을 제공해 주는 스트림입니다.

·       보조 스트림의 일부가 FilterInputStream, FilterOutputStream의 하위 클래스여서 필터(filter)스트림이라고도 합니다.

·       보조 스트림은 자체적으로 입출력을 수행할 수 없기 때문에 입력소스와 바로 연결되는 스트림과 출력소스와 바로 연결이 되는 스트림등에 연결해서 입출력을 수행합니다.

 

구분

클래스

입력소스와 바로 연결되는 클래스

InputStream

FileInputStream

Reader

FileReader

출력소스와 바로 연결되는 클래스

OutputStream

FileOutputStream

Writer

FileWriter

 

 


 

 

 

스트림 체인 (Stream Chain)

보조 스트림은 또 다른 보조 스트림에 연결하여 스트림 체인을 구성할 수 있습니다.


 

InputStream -> InputStreamReader  -> BufferedReader

콘솔 입력 스트림을 입력소스로 해서 문자변환보조스트림을 생성한 후 이 스트림을 다시 입력소스로 해서 버퍼를 이용한 성능향상 보조 스트림을 생성하고 있습니다.

InputStream in = System.in; //콘솔 입력 스트림

InputStreamReader reader = new InputStreamReader(in);

BufferedReader br = new BufferedReader(reader);

 

 

 

 

FilterStream(필터 스트림)

필터입력스트림과 필터출력스트림이 있습니다.

FilterInputSreame

필터 입력 스트림

입력 스트림에 연결하는 필터 스트림

FilterOutputStream

필터 출력 스트림

출력 스트림에 연결하는 필터 스트림