Pipe.SourceChannel.Read メソッド

定義

オーバーロード

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 ドキュメント。

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

適用対象