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 ドキュメントjava.nio.channels.ReadableByteChannel.read(java.nio.ByteBuffer)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 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 ドキュメントjava.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[])
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 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 ドキュメントjava.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[], int, int)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。