Pipe.SinkChannel.Write メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| Write(ByteBuffer) |
指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。 |
| Write(ByteBuffer[]) |
指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。 |
| Write(ByteBuffer[], Int32, Int32) |
指定されたバッファーのサブシーケンスからこのチャネルにバイト シーケンスを書き込みます。 |
Write(ByteBuffer)
指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。
[Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler")]
public abstract int Write(Java.Nio.ByteBuffer? src);
[<Android.Runtime.Register("write", "(Ljava/nio/ByteBuffer;)I", "GetWrite_Ljava_nio_ByteBuffer_Handler")>]
abstract member Write : Java.Nio.ByteBuffer -> int
パラメーター
- src
- ByteBuffer
バイトの取得元のバッファー
返品
書き込まれたバイト数 (場合によっては 0)
実装
- 属性
注釈
指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。
チャネルに最大 r バイトまで書き込もうとします。ここで、 r はバッファーに残っているバイト数です。つまり、このメソッドが呼び出された時点で、 src.remaining()。
長さ n のバイト シーケンスが書き込まれるとします。ここで、 0 <= n <= r. このバイト シーケンスは、インデックス p から始まるバッファーから転送されます 。p は 、このメソッドが呼び出された時点でのバッファーの位置です。書き込まれた最後のバイトのインデックスは p + n ->1。 返されると、バッファーの位置は p + n;その制限は変更されません。
特に指定しない限り、書き込み操作は、 要求 されたすべてのバイトを書き込んだ後にのみ返されます。 一部の種類のチャネルは、その状態に応じて、一部のバイトのみを書き込んだり、まったく書き込んだりしない場合があります。 たとえば、非ブロッキング モードのソケット チャネルは、ソケットの出力バッファーで空きバイト数を超えるバイトを書き込むことができません。
このメソッドはいつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に書き込み操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
Write(ByteBuffer[])
指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。
[Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;)J", "GetWrite_arrayLjava_nio_ByteBuffer_Handler")]
public abstract long Write(Java.Nio.ByteBuffer[]? srcs);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;)J", "GetWrite_arrayLjava_nio_ByteBuffer_Handler")>]
abstract member Write : Java.Nio.ByteBuffer[] -> int64
パラメーター
- srcs
- ByteBuffer[]
バイトの取得元のバッファー
返品
書き込まれたバイト数 (場合によっては 0)
実装
- 属性
注釈
指定されたバッファーからこのチャネルにバイト シーケンスを書き込みます。
フォーム 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")]
public abstract long Write(Java.Nio.ByteBuffer[]? srcs, int offset, int length);
[<Android.Runtime.Register("write", "([Ljava/nio/ByteBuffer;II)J", "GetWrite_arrayLjava_nio_ByteBuffer_IIHandler")>]
abstract member Write : Java.Nio.ByteBuffer[] * int * int -> int64
パラメーター
- srcs
- ByteBuffer[]
バイトの取得元のバッファー
- offset
- Int32
バイトの取得元となる最初のバッファーのバッファー配列内のオフセット。負以外の値を指定する必要があり、次の値を超える値を指定する必要があります。 srcs.length
- length
- Int32
アクセスするバッファーの最大数。負以外で、 srcs.length>- 以下である必要があります。offset
返品
書き込まれたバイト数 (場合によっては 0)
実装
- 属性
注釈
指定されたバッファーのサブシーケンスからこのチャネルにバイト シーケンスを書き込みます。
このチャネルに最大 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]から書き込まれます。バイト シーケンス全体が書き込まれるまでです。 各バッファーから可能な限り多くのバイトが書き込まれるので、最後に更新されたバッファーを除く各更新バッファーの最終位置は、そのバッファーの制限と等しいことが保証されます。
特に指定しない限り、書き込み操作は、 要求 されたすべてのバイトを書き込んだ後にのみ返されます。 一部の種類のチャネルは、その状態に応じて、一部のバイトのみを書き込んだり、まったく書き込んだりしない場合があります。 たとえば、非ブロッキング モードのソケット チャネルは、ソケットの出力バッファーで空きバイト数を超えるバイトを書き込むことができません。
このメソッドはいつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に書き込み操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。