IGatheringByteChannel.Write メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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)
- 属性
例外
この書き込み操作中にチャネルが別のスレッドによって閉じられた場合は 。
操作の進行中に別のスレッドが呼び出し元のスレッドを中断した場合。 呼び出し元スレッドの割り込み状態が設定され、チャネルが閉じられます。
チャネルが閉じている場合は 。
offset またはlength の場合、またはoffset + lengthがbuffersのサイズより大きい場合。
別の I/O エラーが発生した場合。詳細がメッセージに表示されます。
書き込みを許可するモードでチャネルが開かっていない場合は〘。
注釈
指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。
フォーム c.write(srcs) のこのメソッドの呼び出しは、呼び出しとまったく同じ方法で動作します。
<blockquote>
c.write(srcs, 0, srcs.length);
</blockquote>
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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)
- 属性
例外
この書き込み操作中にチャネルが別のスレッドによって閉じられた場合は 。
操作の進行中に別のスレッドが呼び出し元のスレッドを中断した場合。 呼び出し元スレッドの割り込み状態が設定され、チャネルが閉じられます。
チャネルが閉じている場合は 。
offset またはlength の場合、またはoffset + lengthが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]から書き込まれます。バイト シーケンス全体が書き込まれるまでです。 各バッファーから可能な限り多くのバイトが書き込まれるので、最後に更新されたバッファーを除く各更新バッファーの最終位置は、そのバッファーの制限と等しいことが保証されます。
特に指定しない限り、書き込み操作は、 要求 されたすべてのバイトを書き込んだ後にのみ返されます。 一部の種類のチャネルは、その状態に応じて、一部のバイトのみを書き込んだり、まったく書き込んだりしない場合があります。 たとえば、非ブロッキング モードのソケット チャネルは、ソケットの出力バッファーで空きバイト数を超えるバイトを書き込むことができません。
このメソッドはいつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に書き込み操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。