IGatheringByteChannel.Write 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| 속성 | Description |
|---|---|
| Write(ByteBuffer[]) |
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다. |
| Write(ByteBuffer[], Int32, Int32) |
지정된 버퍼의 하위 시퀀스에서 바이트 시퀀스를 이 채널에 씁니다. |
Write(ByteBuffer[])
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다.
[Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;)J", "GetWrite_arrayLjava_nio_ByteBuffer_Handler:Java.Nio.Channels.IGatheringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public long Write(Java.Nio.ByteBuffer[]? srcs);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;)J", "GetWrite_arrayLjava_nio_ByteBuffer_Handler:Java.Nio.Channels.IGatheringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Write : Java.Nio.ByteBuffer[] -> int64
매개 변수
- srcs
- ByteBuffer[]
바이트를 검색할 버퍼
반품
기록된 바이트 수(0일 수 있음)
- 특성
예외
이 쓰기 작업 중에 다른 스레드가 채널을 닫으면 입니다.
작업이 진행되는 동안 다른 스레드가 호출 스레드를 중단하면 입니다. 호출 스레드의 인터럽트 상태가 설정되고 채널이 닫힙니다.
채널이 닫혀 있는 경우
if offset or length , 또는 if offset + length is greater than the size of buffers.
다른 I/O 오류가 발생하면
채널이 쓰기를 허용하는 모드에서 열리지 않았으면 입니다.
설명
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다.
양식 c.write(srcs) 의 이 메서드 호출은 호출과 정확히 동일한 방식으로 동작합니다.
<blockquote>
c.write(srcs, 0, srcs.length);
</blockquote>
에 대한 java.nio.channels.GatheringByteChannel.write(java.nio.ByteBuffer[])Java 설명서
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.
적용 대상
Write(ByteBuffer[], Int32, Int32)
지정된 버퍼의 하위 시퀀스에서 바이트 시퀀스를 이 채널에 씁니다.
[Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;II)J", "GetWrite_arrayLjava_nio_ByteBuffer_IIHandler:Java.Nio.Channels.IGatheringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public long Write(Java.Nio.ByteBuffer[]? srcs, int offset, int length);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;II)J", "GetWrite_arrayLjava_nio_ByteBuffer_IIHandler:Java.Nio.Channels.IGatheringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Write : Java.Nio.ByteBuffer[] * int * int -> int64
매개 변수
- srcs
- ByteBuffer[]
바이트를 검색할 버퍼
- offset
- Int32
바이트를 검색할 첫 번째 버퍼의 버퍼 배열 내 오프셋입니다. 은 음수가 아니어야 하며 다음보다 크지 않아야 합니다. srcs.length
- length
- Int32
액세스할 최대 버퍼 수입니다. 는 음수가 아니고 - 보다 srcs.length크지 않아야 합니다.offset
반품
기록된 바이트 수(0일 수 있음)
- 특성
예외
이 쓰기 작업 중에 다른 스레드가 채널을 닫으면 입니다.
작업이 진행되는 동안 다른 스레드가 호출 스레드를 중단하면 입니다. 호출 스레드의 인터럽트 상태가 설정되고 채널이 닫힙니다.
채널이 닫혀 있는 경우
if offset or length , 또는 if offset + length is greater than the size of buffers.
다른 I/O 오류가 발생하면
채널이 쓰기 위해 열리지 않은 경우
설명
지정된 버퍼의 하위 시퀀스에서 바이트 시퀀스를 이 채널에 씁니다.
r은 지정된 버퍼 배열의 지정된 하위 시퀀스에 남아 있는 총 바이트 수인 이 채널에 r 바이트까지 쓰려고 합니다.
<blockquote>
srcs[offset].remaining()
+ srcs[offset+1].remaining()
+ ... + srcs[offset+length-1].remaining()
</blockquote>
이 메서드가 호출되는 순간
길이 n 의 바이트 시퀀스가 기록되고 여기서 0 <= n <= r. 이 시퀀스의 첫 번째 srcs[offset].remaining() 바이트까지 버퍼 srcs[offset]에서 작성되고, 최대 다음 srcs[offset+1].remaining() 바이트는 버퍼 srcs[offset+1]에서 작성되며, 전체 바이트 시퀀스가 기록될 때까지 작성됩니다. 각 버퍼에서 가능한 한 많은 바이트가 기록되므로 마지막 업데이트된 버퍼를 제외한 각 업데이트된 버퍼의 최종 위치는 해당 버퍼의 제한과 같아야 합니다.
달리 지정하지 않는 한 쓰기 작업은 요청된 모든 r 바이트를 작성한 후에만 반환됩니다. 상태에 따라 일부 유형의 채널은 바이트 중 일부만 작성하거나 전혀 작성하지 않을 수 있습니다. 예를 들어 비차단 모드의 소켓 채널은 소켓의 출력 버퍼에서 사용 가능한 것보다 더 많은 바이트를 쓸 수 없습니다.
이 메서드는 언제든지 호출될 수 있습니다. 그러나 다른 스레드가 이미 이 채널에서 쓰기 작업을 시작한 경우 첫 번째 작업이 완료될 때까지 이 메서드 호출이 차단됩니다.
에 대한 java.nio.channels.GatheringByteChannel.write(java.nio.ByteBuffer[], int, int)Java 설명서
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.