FilterOutputStream — 출력 스트림 필터의 슈퍼클래스
FilterOutputStream — 출력 스트림 필터의 슈퍼클래스
FilterOutputStream은 출력 스트림을 필터링하는 모든 클래스의 슈퍼클래스예요. 이 스트림들은 이미 존재하는 출력 스트림(기반 출력 스트림) 위에 놓여 그 스트림을 기본 데이터 대상으로 사용하되, 도중에 데이터를 변환하거나 추가 기능을 제공할 수 있어요. FilterOutputStream 자체는 OutputStream의 모든 메서드를 기반 출력 스트림에 모든 요청을 전달하는 버전으로 재정의합니다. FilterOutputStream의 하위 클래스는 이 중 일부 메서드를 추가로 재정의하고 추가 메서드와 필드를 제공할 수 있어요.
본문
이 클래스는 java.io.OutputStream을 상속하며 Closeable, Flushable, AutoCloseable을 구현합니다. 하위 클래스로 BufferedOutputStream, CheckedOutputStream, CipherOutputStream, DataOutputStream, DeflaterOutputStream, DigestOutputStream, InflaterOutputStream, PrintStream 등이 있어요.
필드
protected OutputStream out— 필터링할 기반 출력 스트림이에요.
생성자
FilterOutputStream(OutputStream out)— 지정한 기반 출력 스트림 위에 만들어진 출력 스트림 필터를 만들어요.
메서드
void write(int b)— 지정한 바이트를 이 출력 스트림에 써요.void write(byte[] b)—b.length바이트를 이 출력 스트림에 써요.void write(byte[] b, int off, int len)—off오프셋부터b배열의len바이트를 써요.void flush()— 이 출력 스트림을 플러시하고 버퍼링된 출력 바이트를 스트림에 강제로 써요.void close()— 스트림을 닫고 관련 시스템 자원을 해제해요.
FilterOutputStream은 데이터를 가로채 변환하거나 부가 기능을 더하는 스트림 데코레이터 패턴의 기반으로, BufferedOutputStream, DataOutputStream 같은 클래스들이 이를 상속해 구현돼요.