BufferedOutputStream의 배출 경로

작은 write는 내부 배열에 모이고 세 조건에서 다음 계층으로 이동한다.

  1. 쓰기 수신

    바이트를 내부 버퍼에 보관한다.

  2. 버퍼 포화

    가득 찬 배열을 기본 스트림에 쓴다.

  3. 명시적 flush

    메시지 경계에서 남은 값을 전달한다.

  4. close 호출

    마지막 flush 뒤 안쪽 자원을 닫는다.

핵심: 파일 종료에서는 바깥 스트림 close가 남은 데이터까지 보존한다.