Pipe.SourceChannel.Read 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
Read(ByteBuffer) |
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다. |
Read(ByteBuffer[]) |
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다. |
Read(ByteBuffer[], Int32, Int32) |
이 채널에서 지정된 버퍼의 하위 시퀀스로 바이트 시퀀스를 읽습니다. |
Read(ByteBuffer)
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다.
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)I", "GetRead_Ljava_nio_ByteBuffer_Handler")]
public abstract int Read (Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)I", "GetRead_Ljava_nio_ByteBuffer_Handler")>]
abstract member Read : Java.Nio.ByteBuffer -> int
매개 변수
- dst
- ByteBuffer
바이트를 전송할 버퍼입니다.
반환
읽은 바이트 수( 0일 수 있음) 또는 -1
채널이 스트림 끝에 도달한 경우
구현
- 특성
설명
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다.
채널에서 r 바이트까지 읽으려고 시도합니다. 여기서 r은 버퍼에 남아 있는 바이트 수, 즉 dst.remaining()
이 메서드가 호출되는 순간입니다.
길이 n 의 바이트 시퀀스가 읽혀진 경우 0
여기서 <=
n <=
r. 이 바이트 시퀀스는 시퀀스의 첫 번째 바이트가 인덱스 p에 있고 마지막 바이트가 인덱스 p +
에 있도록 버퍼로 전송됩니다. n -
1
, 여기서 p는 이 메서드가 호출되는 순간에 버퍼의 위치입니다. 반환 시 버퍼의 위치는 p +
와 같습니다. n; 해당 제한은 변경되지 않습니다.
읽기 작업이 버퍼를 채우지 못할 수 있으며 실제로는 바이트를 전혀 읽지 않을 수 있습니다. 그렇게 하는지 여부는 채널의 특성과 상태에 따라 달라집니다. 예를 들어 비차단 모드의 소켓 채널은 소켓의 입력 버퍼에서 즉시 사용할 수 있는 것보다 더 많은 바이트를 읽을 수 없습니다. 마찬가지로 파일 채널은 파일에 남아 있는 것보다 더 이상 바이트를 읽을 수 없습니다. 그러나 채널이 차단 모드에 있고 버퍼에 하나 이상의 바이트가 남아 있는 경우 이 메서드는 하나 이상의 바이트를 읽을 때까지 차단됩니다.
이 메서드는 언제든지 호출될 수 있습니다. 그러나 다른 스레드가 이미 이 채널에서 읽기 작업을 시작한 경우 첫 번째 작업이 완료될 때까지 이 메서드 호출이 차단됩니다.
에 대한 java.nio.channels.ReadableByteChannel.read(java.nio.ByteBuffer)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
Read(ByteBuffer[])
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다.
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler")]
public abstract long Read (Java.Nio.ByteBuffer[]? dsts);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler")>]
abstract member Read : Java.Nio.ByteBuffer[] -> int64
매개 변수
- dsts
- ByteBuffer[]
바이트를 전송할 버퍼
반환
읽은 바이트 수( 0일 수 있음) 또는 -1
채널이 스트림 끝에 도달한 경우
구현
- 특성
설명
이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다.
양식 c.read(dsts)
의 이 메서드 호출은 호출과 정확히 동일한 방식으로 동작합니다.
<blockquote>
c.read(dsts, 0, dsts.length);
</blockquote>
에 대한 java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[])
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
적용 대상
Read(ByteBuffer[], Int32, Int32)
이 채널에서 지정된 버퍼의 하위 시퀀스로 바이트 시퀀스를 읽습니다.
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler")]
public abstract long Read (Java.Nio.ByteBuffer[]? dsts, int offset, int length);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler")>]
abstract member Read : Java.Nio.ByteBuffer[] * int * int -> int64
매개 변수
- dsts
- ByteBuffer[]
바이트를 전송할 버퍼
- offset
- Int32
바이트를 전송할 첫 번째 버퍼의 버퍼 배열 내 오프셋입니다. 은 음수가 아니어야 하며 다음보다 크지 않아야 합니다. dsts.length
- length
- Int32
액세스할 최대 버퍼 수입니다. 는 음수가 아니고 - 보다 dsts.length
크지 않아야 합니다.offset
반환
읽은 바이트 수( 0일 수 있음) 또는 -1
채널이 스트림 끝에 도달한 경우
구현
- 특성
설명
이 채널에서 지정된 버퍼의 하위 시퀀스로 바이트 시퀀스를 읽습니다.
이 메서드를 호출하면 이 채널에서 최대 r 바이트를 읽으려고 합니다. 여기서 r은 지정된 버퍼 배열의 지정된 하위 시퀀스에 남아 있는 총 바이트 수입니다.
<blockquote>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</blockquote>
이 메서드가 호출되는 순간
길이 n 의 바이트 시퀀스가 읽혀진 경우 0
여기서 <=
n <=
r. 이 시퀀스의 첫 번째 dsts[offset].remaining()
바이트까지 버퍼로 전송되고, 전체 바이트 시퀀스가 지정된 버퍼 dsts[offset]
로 전송될 때까지 최대 다음 dsts[offset+1].remaining()
바이트가 버퍼 dsts[offset+1]
로 전송됩니다. 가능한 한 많은 바이트가 각 버퍼로 전송되므로 마지막 업데이트된 버퍼를 제외한 각 업데이트된 버퍼의 최종 위치는 해당 버퍼의 제한과 같아야 합니다.
이 메서드는 언제든지 호출될 수 있습니다. 그러나 다른 스레드가 이미 이 채널에서 읽기 작업을 시작한 경우 첫 번째 작업이 완료될 때까지 이 메서드 호출이 차단됩니다.
에 대한 java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[], int, int)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.