FilterOutputStream — 출력 스트림 필터의 슈퍼클래스

FilterOutputStream — 출력 스트림 필터의 슈퍼클래스

FilterOutputStream은 출력 스트림을 필터링하는 모든 클래스의 슈퍼클래스예요. 이 스트림들은 이미 존재하는 출력 스트림(기반 출력 스트림) 위에 놓여 그 스트림을 기본 데이터 대상으로 사용하되, 도중에 데이터를 변환하거나 추가 기능을 제공할 수 있어요. FilterOutputStream 자체는 OutputStream의 모든 메서드를 기반 출력 스트림에 모든 요청을 전달하는 버전으로 재정의합니다. FilterOutputStream의 하위 클래스는 이 중 일부 메서드를 추가로 재정의하고 추가 메서드와 필드를 제공할 수 있어요.

출처: Java API Reference

본문

이 클래스는 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 같은 클래스들이 이를 상속해 구현돼요.

더 알아보기 (Learn more)