Language

IGatheringByteChannel.Write メソッド

定義

オーバーロード

名前 説明
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>

Javaドキュメント。

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

適用対象

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

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

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

Javaドキュメント。

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

適用対象