OutputStream — 바이트 출력 스트림의 추상 슈퍼클래스

OutputStream — 바이트 출력 스트림의 추상 슈퍼클래스

OutputStream은 바이트 출력 스트림을 나타내는 모든 클래스의 추상 슈퍼클래스예요. 출력 스트림은 출력 바이트를 받아 어떤 대상(sink)으로 보냅니다. OutputStream의 하위 클래스를 정의해야 하는 애플리케이션은 항상 출력 바이트 하나를 쓰는 메서드를 최소 한 개 제공해야 해요.

출처: Java API Reference

본문

이 클래스는 java.lang.Object를 상속하며 Closeable, Flushable을 구현합니다. 직접 알려진 하위 클래스로 ByteArrayOutputStream, FileOutputStream, FilterOutputStream, ObjectOutputStream, PipedOutputStream 등이 있어요.

생성자

  • OutputStream() — 하위 클래스가 호출하기 위한 생성자예요.

메서드

  • abstract 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() — 이 출력 스트림을 닫고 관련 시스템 자원을 해제해요.
  • static OutputStream nullOutputStream() — 모든 바이트를 버리는 새 OutputStream을 반환해요. 처음에는 열려 있으며, close() 호출로 닫고 이후 메서드들은 IOException을 던져요.

OutputStream은 파일, 네트워크, 메모리 등 다양한 대상에 바이트를 쓰는 스트림의 기반이에요. 하위 클래스는 write(int)를 구현하면 나머지 메서드들이 그 위에 구성됩니다.

더 알아보기 (Learn more)