語言

IAsynchronousByteChannel.Write 方法

定義

多載

名稱 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

要從中擷取位元組的緩衝區

傳回

一個代表這次行動結果的未來

屬性

備註

從給定的緩衝區寫入一串位元組到該通道。

此方法會啟動非同步寫入操作,從給定緩衝區寫入一串位元組至該通道。 此方法的行為與該 #write(ByteBuffer,Object,CompletionHandler) write(ByteBuffer,Object,CompletionHandler) 方法完全相同,不同的是,該方法回傳的是代表待處理結果的 a Future ,而非指定完成處理程序。 Futures Future#get() get 方法回傳寫入的位元組數。

Java 文件 java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

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 時,寫入操作立即完成,結果為 , 0 無需啟動 I/O 操作。

假設寫入一個長度為 n 的位元組序列,其中 0& nbsp;< n <= R。 此位元組序列會從索引 p 開始的緩衝區傳輸,p 是寫入時緩衝區的位置;最後寫入的位元組索引為 p + n - 1 完成後緩衝區的位置將等於 p + n;其極限不會改變。

緩衝區不適合多個並行執行緒使用,因此應注意在操作完成前不要存取緩衝區。

此方法可隨時啟動。 某些通道類型可能不允許同時完成超過一個寫入。 如果執行緒在前一個寫入操作尚未完成前發起寫入操作,則會拋出 a WritePendingException

Java 文件 java.nio.channels.AsynchronousByteChannel.write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer, ? super A>)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於