분산 읽기 채널

분산 읽기 채널 (ScatteringByteChannel)

한 번의 호출로 바이트를 여러 버퍼의 시퀀스로 읽는 채널을 나타내는 인터페이스예요. scatter 읽기(scattering read)를 지원합니다.

출처: Java API Reference

본문

ScatteringByteChannel은 한 번의 호출로 바이트를 버퍼 시퀀스로 읽는 채널을 나타내는 인터페이스예요.

public interface ScatteringByteChannel extends ReadableByteChannel

scattering read는 단일 호출에서 일련의 바이트를 주어진 버퍼 시퀀스 중 하나 이상으로 읽어요. 네트워크 프로토콜이나 파일 형식을 구현할 때 유용한데, 예를 들어 하나 이상의 고정 길이 헤더 뒤에 가변 길이 본문이 오는 세그먼트로 데이터를 묶을 때 유용해요.

long read(ByteBuffer[] dsts, int offset, int length) throws IOException
long read(ByteBuffer[] dsts) throws IOException
  • read(ByteBuffer[] dsts) — 버퍼 시퀀스 전체에 바이트를 분산해 읽어요.
  • read(ByteBuffer[] dsts, int offset, int length) — 버퍼 배열의 일부(offset부터 length개)에만 분산해 읽습니다.

비슷한 gather 쓰기 연산은 GatheringByteChannel 인터페이스에 정의되어 있어요.

더 알아보기 (Learn more)