IAsynchronousByteChannel.Write 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| 속성 | Description |
|---|---|
| Write(ByteBuffer) |
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다. |
| Write(ByteBuffer, Object, ICompletionHandler) |
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다. |
Write(ByteBuffer)
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다.
[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetWrite_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)]
public Java.Util.Concurrent.IFuture? Write(Java.Nio.ByteBuffer? src);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetWrite_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)>]
abstract member Write : Java.Nio.ByteBuffer -> Java.Util.Concurrent.IFuture
매개 변수
- src
- ByteBuffer
바이트를 검색할 버퍼입니다.
반품
작업의 결과를 나타내는 Future
- 특성
설명
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다.
이 메서드는 지정된 버퍼에서 이 채널에 바이트 시퀀스를 쓰는 비동기 쓰기 작업을 시작합니다. 이 메서드는 완료 처리기를 지정하는 대신 보류 중인 결과를 나타내는 값을 반환 #write(ByteBuffer,Object,CompletionHandler) write(ByteBuffer,Object,CompletionHandler) 한다는 점을 제외하고 메서드와 정확히 동일한 방식으로 Future 동작합니다. 's Future 메서드는 Future#get() get쓴 바이트 수를 반환합니다.
에 대한 java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer)Java 설명서
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.
적용 대상
Write(ByteBuffer, Object, ICompletionHandler)
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다.
[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetWrite_Ljava_nio_ByteBuffer_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public void Write(Java.Nio.ByteBuffer? src, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetWrite_Ljava_nio_ByteBuffer_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Write : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
매개 변수
- src
- ByteBuffer
바이트를 검색할 버퍼입니다.
- attachment
- Object
I/O 작업에 연결할 개체입니다. 가 될 수 있습니다. null
- handler
- ICompletionHandler
완료 처리기 개체
- 특성
설명
지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다.
이 메서드는 지정된 버퍼에서 이 채널에 바이트 시퀀스를 쓰는 비동기 쓰기 작업을 시작합니다.
handler 매개 변수는 쓰기 작업이 완료되거나 실패할 때 호출되는 완료 처리기입니다. 완료 처리기에 전달된 결과는 기록된 바이트 수입니다.
쓰기 작업은 채널에 r 바이트까지 쓸 수 있습니다. 여기서 r 은 버퍼에 남아 있는 바이트 수, 즉 src.remaining() 쓰기가 시도될 때의 바이트 수입니다.
r이 0인 경우 I/O 작업을 시작하지 않고 결과 0 와 함께 쓰기 작업이 즉시 완료됩니다.
길이 n 의 바이트 시퀀스가 기록되고 여기서 0 < n <= r. 이 바이트 시퀀스는 인덱스 p부터 시작하는 버퍼에서 전송됩니다. 여기서 p 는 쓰기가 수행되는 순간의 버퍼 위치입니다. 마지막으로 쓴 바이트의 인덱스가 p +; n - 1. 완료되면 버퍼의 위치는 p +; n; 제한은 변경되지 않습니다.
버퍼는 여러 동시 스레드에서 사용하기에 안전하지 않으므로 작업이 완료될 때까지 버퍼에 액세스하지 않도록 주의해야 합니다.
이 메서드는 언제든지 호출될 수 있습니다. 일부 채널 유형은 지정된 시간에 둘 이상의 쓰기가 미해결되도록 허용하지 않을 수 있습니다. 이전 쓰기 작업이 완료되기 전에 스레드가 쓰기 작업을 시작하면 스레드가 WritePendingException throw됩니다.
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.