言語

IScatteringByteChannel.Read メソッド

定義

オーバーロード

名前 説明
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[]

バイトの転送先となるバッファー

返品

チャネルがストリームの終了に達した場合に読み取られたバイト数、場合によっては 0 バイト、または-1

属性

例外

この読み取り操作中にチャネルが別のスレッドによって閉じている場合は 。

操作の進行中に別のスレッドが呼び出し元のスレッドを中断した場合。 呼び出し元スレッドの割り込み状態が設定され、チャネルが閉じられます。

チャネルが閉じている場合は 。

別の I/O エラーが発生した場合。詳細がメッセージに表示されます。

読み取りを許可するモードでチャネルが開かっていない場合は 。

注釈

このチャネルから特定のバッファーにバイトシーケンスを読み取ります。

フォーム 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: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

アクセスするバッファーの最大数。負以外で、 dsts.length>-  以下である必要があります。offset

返品

チャネルがストリームの終了に達した場合に読み取られたバイト数、場合によっては 0 バイト、または-1

属性

例外

この読み取り操作中にチャネルが別のスレッドによって閉じている場合は 。

操作の進行中に別のスレッドが呼び出し元のスレッドを中断した場合。 呼び出し元スレッドの割り込み状態が設定され、チャネルが閉じられます。

チャネルが閉じている場合は 。

offset またはlength の場合、またはoffset + lengthbuffersのサイズより大きい場合。

別の I/O エラーが発生した場合。詳細がメッセージに表示されます。

読み取りを許可するモードでチャネルが開かっていない場合は 。

注釈

このチャネルから特定のバッファーのサブシーケンスにバイトシーケンスを読み取ります。

このメソッドの呼び出しは、このチャネルから最大 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属性ライセンスに記載されている条件に従って使用されます。

適用対象