ByteBuffer.Compact 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 버퍼를 압축합니다. (선택적 작업).
[Android.Runtime.Register("compact", "()Ljava/nio/ByteBuffer;", "GetCompactHandler")]
public abstract Java.Nio.ByteBuffer Compact ();
[<Android.Runtime.Register("compact", "()Ljava/nio/ByteBuffer;", "GetCompactHandler")>]
abstract member Compact : unit -> Java.Nio.ByteBuffer
반환
이 버퍼
- 특성
예외
이 버퍼의 내용을 변경할 수 없으면 입니다.
설명
이 버퍼를 압축합니다. (선택적 작업).
버퍼의 현재 위치와 해당 제한 사이의 바이트(있는 경우)는 버퍼의 시작 부분에 복사됩니다. 즉, 인덱스 p = position()
;의 바이트가 인덱스 0에 복사되고 인덱스 p + 의 바이트입니다. 인덱스 1에 1이 복사되고 인덱limit()
스 - 바이트까지 복사됩니다. 1은 n = limit()
인덱스로 복사됩니다. - 1
- p. 그런 다음 버퍼의 위치가 n+1로 설정되고 해당 제한이 해당 용량으로 설정됩니다. 정의된 경우 표시가 삭제됩니다.
버퍼의 위치는 0이 아닌 복사된 바이트 수로 설정되므로 이 메서드의 호출 바로 뒤에 다른 상대 put 메서드를 호출할 수 있습니다.
쓰기가 완료되지 않은 경우 버퍼에서 데이터를 작성한 후 이 메서드를 호출합니다. 예를 들어 다음 루프는 버퍼 buf
를 통해 한 채널에서 다른 채널로 바이트를 복사합니다.
<blockquote>
{@code
buf.clear(); // Prepare buffer for use
while (in.read(buf) >= 0 || buf.position != 0) {
buf.flip();
out.write(buf);
buf.compact(); // In case of partial write
}
}
</blockquote>
에 대한 java.nio.ByteBuffer.compact()
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.