語言

IWritableByteChannel.Write(ByteBuffer) 方法

定義

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

[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IWritableByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public int Write(Java.Nio.ByteBuffer? src);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IWritableByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Write : Java.Nio.ByteBuffer -> int

參數

src
ByteBuffer

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

傳回

寫入的位元組數,可能是零

屬性

例外狀況

如果該頻道未開放寫作。

如果通道已經關閉。

如果寫入過程中有其他執行緒關閉了通道。

如果有其他執行緒在寫入過程中中斷呼叫的執行緒。

另一個 IO 例外發生,詳細資訊已在訊息中。

備註

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

嘗試寫入最多 r 個位元組到通道,其中 r 是緩衝區中剩餘的位元組數,即 src.remaining()此方法被呼叫時的位元組數。

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

除非另有說明,寫入操作只有在寫入所有請求的 r 個位元組後才會回傳。 某些類型的通道,根據其狀態,可能只寫入部分位元組,甚至可能完全不寫入。 例如,非阻塞模式下的套接字通道不能寫入超過該套接字輸出緩衝區空閒的位元組。

此方法可隨時啟動。 然而,如果已有其他執行緒對該通道發起寫入操作,則呼叫此方法會阻塞直到第一個操作完成。

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

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

適用於