시커블 바이트 채널

시커블 바이트 채널 (SeekableByteChannel)

현재 위치를 유지하고 위치를 변경할 수 있는 바이트 채널을 나타내는 인터페이스예요. 파일처럼 위치 개념이 있는 엔티티용입니다.

출처: Java API Reference

본문

SeekableByteChannel은 현재 위치(current position)를 유지하고 그 위치를 변경할 수 있는 바이트 채널을 나타내는 인터페이스예요.

public interface SeekableByteChannel extends ByteChannel

시커블 바이트 채널은 보통 파일과 같이 읽고 쓸 수 있는 가변 길이 바이트 시퀀스를 포함하는 엔티티에 연결됩니다. 현재 위치는 조회·수정할 수 있고, 연결된 엔티티의 현재 크기도 접근할 수 있어요. 현재 크기를 넘어 바이트를 쓰면 크기가 커지고, truncate()로 잘라내면 크기가 줄어듭니다.

int read(ByteBuffer dst) throws IOException
int write(ByteBuffer src) throws IOException
long position() throws IOException
SeekableByteChannel position(long newPosition) throws IOException
long size() throws IOException
SeekableByteChannel truncate(long size) throws IOException

값을 반환하지 않는 position()truncate()는 호출된 채널 자체를 반환하도록 지정되어 있어 메서드 체이닝을 허용해요. 파일 채널(FileChannel)이 이 인터페이스를 구현합니다.

더 알아보기 (Learn more)