Language

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

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

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

Javaドキュメント。

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

適用対象

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ドキュメント。

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

適用対象

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]から書き込まれます。バイト シーケンス全体が書き込まれるまでです。 各バッファーから可能な限り多くのバイトが書き込まれるので、最後に更新されたバッファーを除く各更新バッファーの最終位置は、そのバッファーの制限と等しいことが保証されます。

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

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

Javaドキュメント。

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

適用対象