IScatteringByteChannel.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Read(ByteBuffer[]) |
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。 |
Read(ByteBuffer[], Int32, Int32) |
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。 |
Read(ByteBuffer[])
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public long Read (Java.Nio.ByteBuffer[]? dsts);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Read : Java.Nio.ByteBuffer[] -> int64
パラメーター
- dsts
- ByteBuffer[]
バイトの転送先となるバッファー
戻り値
読み取られたバイト数(ゼロの可能性あり)、または -1
チャネルがストリームの終了に達した場合
- 属性
例外
この読み取り操作中にチャネルが別のスレッドによって閉じられている場合は 。
操作の進行中に別のスレッドが呼び出し元のスレッドを中断した場合。 呼び出し元スレッドの割り込み状態が設定され、チャネルが閉じられます。
チャネルが閉じている場合は 。
別の I/O エラーが発生した場合。詳細はメッセージに含まれます。
チャネルが読み取りを許可するモードで開かっていない場合は 。
注釈
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。
フォーム c.read(dsts)
のこのメソッドの呼び出しは、呼び出しとまったく同じ方法で動作します
<blockquote>
c.read(dsts, 0, dsts.length);
</blockquote>
の java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[])
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
適用対象
Read(ByteBuffer[], Int32, Int32)
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public long Read (Java.Nio.ByteBuffer[]? dsts, int offset, int length);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler:Java.Nio.Channels.IScatteringByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Read : Java.Nio.ByteBuffer[] * int * int -> int64
パラメーター
- dsts
- ByteBuffer[]
バイトの転送先となるバッファー
- offset
- Int32
バイトが転送される最初のバッファーのバッファー配列内のオフセット。負以外の値を指定する必要があります。 dsts.length
- length
- Int32
アクセスするバッファーの最大数。負以外であり、nbsp&大 dsts.length
きくなければなりません;- offset
戻り値
読み取られたバイト数(ゼロの可能性あり)、または -1
チャネルがストリームの終了に達した場合
- 属性
例外
この読み取り操作中にチャネルが別のスレッドによって閉じられている場合は 。
操作の進行中に別のスレッドが呼び出し元のスレッドを中断した場合。 呼び出し元スレッドの割り込み状態が設定され、チャネルが閉じられます。
チャネルが閉じている場合は 。
または の場合offset
、または が のbuffers
サイズより大きい場合offset + length
length
は 。
別の I/O エラーが発生した場合。詳細はメッセージに含まれます。
チャネルが読み取りを許可するモードで開かっていない場合は 。
注釈
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。
このメソッドの呼び出しでは、このチャネルから最大 r バイトの読み取りが試行されます。 ここで、r は、指定されたバッファー配列の指定されたサブシーケンスの残りの合計バイト数です。つまり、
<blockquote>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</blockquote>
このメソッドが呼び出された時点で。
長さ n のバイト シーケンスが読み取られたとします。ここで 0
、nbsp&;<=
nbsp を&します。n <=
r. このシーケンスの最初 dsts[offset].remaining()
のバイトまでがバッファー dsts[offset]
に転送され、次 dsts[offset+1].remaining()
のバイトまでがバッファー dsts[offset+1]
に転送され、バイト シーケンス全体が指定されたバッファーに転送されるまで転送されます。 可能な限り多くのバイトが各バッファーに転送されるため、最後に更新されたバッファーを除く各更新されたバッファーの最終位置は、そのバッファーの制限と等しいことが保証されます。
このメソッドは、いつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に読み取り操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。
の java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[], int, int)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。