Pipe.SourceChannel.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Read(ByteBuffer) |
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。 |
Read(ByteBuffer[]) |
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。 |
Read(ByteBuffer[], Int32, Int32) |
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。 |
Read(ByteBuffer)
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)I", "GetRead_Ljava_nio_ByteBuffer_Handler")]
public abstract int Read (Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)I", "GetRead_Ljava_nio_ByteBuffer_Handler")>]
abstract member Read : Java.Nio.ByteBuffer -> int
パラメーター
- dst
- ByteBuffer
バイトの転送先となるバッファー
戻り値
読み取られたバイト数(ゼロの可能性あり)、または -1
チャネルがストリームの終了に達した場合
実装
- 属性
注釈
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。
チャネルから最大 r バイトまでの読み取りが試行されます。 ここで、r はバッファーに残っているバイト数 (つまり、 dst.remaining()
このメソッドが呼び出された時点) です。
長さ n のバイト シーケンスが読み取られたとします。ここで 0
、nbsp&;<=
nbsp を&します。n <=
r. このバイト シーケンスはバッファーに転送され、シーケンスの最初のバイトがインデックス p に、最後のバイトがインデックス p  になるように+
します。 n -
nbsp;1
&します。 ここで、p は、このメソッドが呼び出された時点でのバッファーの位置です。 戻り時に、バッファーの位置は p  と等しくなります。+
n;その制限は変更されません。
読み取り操作はバッファーを埋めず、実際にはバイトをまったく読み取らない可能性があります。 そうするかどうかは、チャネルの性質と状態によって異なります。 たとえば、非ブロッキング モードのソケット チャネルでは、ソケットの入力バッファーからすぐに使用できるバイト数を超えるバイトを読み取ることはできません。同様に、ファイル チャネルは、ファイルに残っているバイト数を超えるバイトを読み取ることはできません。 ただし、チャネルがブロック モードで、バッファーに少なくとも 1 バイトが残っている場合、このメソッドは少なくとも 1 バイトが読み取られるまでブロックすることが保証されます。
このメソッドは、いつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に読み取り操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。
の java.nio.channels.ReadableByteChannel.read(java.nio.ByteBuffer)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
適用対象
Read(ByteBuffer[])
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。
[Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler")]
public abstract long Read (Java.Nio.ByteBuffer[]? dsts);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;)J", "GetRead_arrayLjava_nio_ByteBuffer_Handler")>]
abstract member Read : Java.Nio.ByteBuffer[] -> int64
パラメーター
- dsts
- ByteBuffer[]
バイトの転送先となるバッファー
戻り値
読み取られたバイト数(ゼロの可能性あり)、または -1
チャネルがストリームの終了に達した場合
実装
- 属性
注釈
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。
フォーム 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")]
public abstract long Read (Java.Nio.ByteBuffer[]? dsts, int offset, int length);
[<Android.Runtime.Register("read", "([Ljava/nio/ByteBuffer;II)J", "GetRead_arrayLjava_nio_ByteBuffer_IIHandler")>]
abstract member Read : Java.Nio.ByteBuffer[] * int * int -> int64
パラメーター
- dsts
- ByteBuffer[]
バイトの転送先となるバッファー
- offset
- Int32
バイトが転送される最初のバッファーのバッファー配列内のオフセット。負以外の値を指定する必要があります。 dsts.length
- length
- Int32
アクセスするバッファーの最大数。負以外であり、nbsp&大 dsts.length
きくなければなりません;- offset
戻り値
読み取られたバイト数(ゼロの可能性あり)、または -1
チャネルがストリームの終了に達した場合
実装
- 属性
注釈
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。
このメソッドの呼び出しでは、このチャネルから最大 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 ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。