Pipe.SinkChannel.Write メソッド

定義

オーバーロード

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 、nbsp&;<= nbsp を&します。n <= r. このバイト シーケンスは、インデックス p から始まるバッファーから転送されます。ここで、 p は、このメソッドが呼び出された時点でのバッファーの位置です。書き込まれた最後のバイトのインデックスは nbsp&p になります。+ n - nbsp;1を&します。 返されると、バッファーの位置は p  と等しくなります。+ n;その制限は変更されません。

特に指定しない限り、書き込み操作 は、要求 されたすべてのバイトを書き込んだ後にのみを返します。 一部の種類のチャネルは、その状態に応じて、一部のバイトのみを書き込んだり、まったく書き込んだりしない場合があります。 たとえば、非ブロッキング モードのソケット チャネルは、ソケットの出力バッファーで空きバイト数を超えるバイトを書き込むことができません。

このメソッドは、いつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に書き込み操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。

の Java ドキュメント java.nio.channels.WritableByteChannel.write(java.nio.ByteBuffer)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

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>

の Java ドキュメント java.nio.channels.GatheringByteChannel.write(java.nio.ByteBuffer[])

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

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

アクセスするバッファーの最大数。負でない値で、nbsp&以下 srcs.length である必要があります。- offset

戻り値

書き込まれたバイト数 (場合によっては 0)

実装

属性

注釈

指定されたバッファーのサブシーケンスから、このチャネルにバイト シーケンスを書き込みます。

このチャネルに最大 r バイトまで書き込もうとします。 ここで、r は、指定されたバッファー配列の指定されたサブシーケンスに残っている合計バイト数です。つまり、

<blockquote>

srcs[offset].remaining()
                + srcs[offset+1].remaining()
                + ... + srcs[offset+length-1].remaining()

</blockquote>

このメソッドが呼び出された時点で。

長さ n のバイト シーケンスが書き込まれるとします。ここで 0 、nbsp&;<= nbsp を&します。n <= r. このシーケンスの最初 srcs[offset].remaining() のバイトまではバッファー srcs[offset]から書き込まれ、次 srcs[offset+1].remaining() のバイトまではバッファー srcs[offset+1]から書き込まれます。バイト シーケンス全体が書き込まれるまで、次のバイトまでが書き込まれます。 各バッファーから可能な限り多くのバイトが書き込まれるため、最後に更新されたバッファーを除く、更新された各バッファーの最終位置は、そのバッファーの制限と等しいことが保証されます。

特に指定しない限り、書き込み操作 は、要求 されたすべてのバイトを書き込んだ後にのみを返します。 一部の種類のチャネルは、その状態に応じて、一部のバイトのみを書き込んだり、まったく書き込んだりしない場合があります。 たとえば、非ブロッキング モードのソケット チャネルは、ソケットの出力バッファーで空きバイト数を超えるバイトを書き込むことができません。

このメソッドは、いつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に書き込み操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。

の Java ドキュメント java.nio.channels.GatheringByteChannel.write(java.nio.ByteBuffer[], int, int)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象