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
バイトの転送先となるバッファー
返品
チャネルがストリームの終わりに達した場合に読み取られたバイト数、場合によっては 0 バイト、または-1
実装
- 属性
注釈
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。
チャネルから最大 r バイトまでの読み取りが試行されます。ここで、 r はこのメソッドが呼び出された時点でバッファーに残っているバイト数 (つまり、 dst.remaining()) です。
長さ n のバイト シーケンスが読み取られたとします。ここで、 0&<=>n><=>r。 このバイト シーケンスはバッファーに転送されるため、シーケンスの最初のバイトはインデックス p にあり 最後のバイトはインデックス p>+>n>- 1。ここで、 p はこのメソッドが呼び出された時点でのバッファーの位置です。 返されると、バッファーの位置は p&+>n; 制限は変更されません。
読み取り操作はバッファーを埋めず、実際にはバイトをまったく読み取らない可能性があります。 そうするかどうかは、チャネルの性質と状態によって異なります。 たとえば、非ブロッキング モードのソケット チャネルでは、ソケットの入力バッファーからすぐに使用できるバイト数を超えるバイトを読み取ることはできません。同様に、ファイル チャネルは、ファイルに残っているバイト数を超えるバイトを読み取ることはできません。 ただし、チャネルがブロッキング モードで、バッファーに残り 1 バイト以上ある場合、このメソッドは少なくとも 1 バイトが読み取られるまでブロックすることが保証されます。
このメソッドはいつでも呼び出すことができます。 ただし、別のスレッドがこのチャネルで既に読み取り操作を開始している場合、このメソッドの呼び出しは、最初の操作が完了するまでブロックされます。
java.nio.channels.ReadableByteChannel.read(java.nio.ByteBuffer)の Java ドキュメント。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。
適用対象
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[]
バイトの転送先となるバッファー
返品
チャネルがストリームの終わりに達した場合に読み取られたバイト数、場合によっては 0 バイト、または-1
実装
- 属性
注釈
このチャネルから特定のバッファーにバイトシーケンスを読み取ります。
フォーム c.read(dsts) のこのメソッドの呼び出しは、呼び出しとまったく同じ方法で動作します。
<blockquote>
c.read(dsts, 0, dsts.length);
</blockquote>
java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[])の Java ドキュメント。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。
適用対象
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
アクセスするバッファーの最大数。負以外で、 dsts.length>- 以下にする必要があります。offset
返品
チャネルがストリームの終わりに達した場合に読み取られたバイト数、場合によっては 0 バイト、または-1
実装
- 属性
注釈
このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。
このメソッドの呼び出しにより、このチャネルから最大 r バイトまでの読み取りが試行されます。ここで、 r は、指定されたバッファー配列の指定されたサブシーケンスの残りのバイトの合計数です。
<blockquote>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</blockquote>
このメソッドが呼び出された時点で。
長さ n のバイト シーケンスが読み取られたとします。ここで、 0&<=>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 ドキュメント。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。