IAsynchronousByteChannel.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| Read(ByteBuffer) |
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。 |
| Read(ByteBuffer, Object, ICompletionHandler) |
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。 |
Read(ByteBuffer)
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetRead_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)]
public Java.Util.Concurrent.IFuture? Read(Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;", "GetRead_Ljava_nio_ByteBuffer_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)>]
abstract member Read : Java.Nio.ByteBuffer -> Java.Util.Concurrent.IFuture
パラメーター
- dst
- ByteBuffer
バイトの転送先となるバッファー
返品
操作の結果を表す Future
- 属性
注釈
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。
このメソッドは、このチャネルから特定のバッファーにバイトシーケンスを読み取る非同期読み取り操作を開始します。 このメソッドは、完了ハンドラーを指定する代わりに、保留中の結果を表す#read(ByteBuffer,Object,CompletionHandler) read(ByteBuffer,Object,CompletionHandler)を返す点を除き、Future メソッドとまったく同じように動作します。
FutureのFuture#get() get メソッドは、チャネルがストリームの終了に達したためにバイトを読み取ることができなかった場合は、読み取られたバイト数または-1を返します。
java.nio.channels.AsynchronousByteChannel.read(java.nio.ByteBuffer)の Java ドキュメント。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。
適用対象
Read(ByteBuffer, Object, ICompletionHandler)
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。
[Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_Ljava_nio_ByteBuffer_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "A" })]
public void Read(Java.Nio.ByteBuffer? dst, Java.Lang.Object? attachment, Java.Nio.Channels.ICompletionHandler? handler);
[<Android.Runtime.Register("read", "(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V", "GetRead_Ljava_nio_ByteBuffer_Ljava_lang_Object_Ljava_nio_channels_CompletionHandler_Handler:Java.Nio.Channels.IAsynchronousByteChannelInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "A" })>]
abstract member Read : Java.Nio.ByteBuffer * Java.Lang.Object * Java.Nio.Channels.ICompletionHandler -> unit
パラメーター
- dst
- ByteBuffer
バイトの転送先となるバッファー
- attachment
- Object
I/O 操作にアタッチするオブジェクト。は、次のことができます。 null
- handler
- ICompletionHandler
完了ハンドラー
- 属性
注釈
このチャネルから特定のバッファーにバイト シーケンスを読み取ります。
このメソッドは、このチャネルから特定のバッファーにバイトシーケンスを読み取る非同期読み取り操作を開始します。
handler パラメーターは、読み取り操作が完了 (または失敗) したときに呼び出される完了ハンドラーです。 完了ハンドラーに渡される結果は、チャネルがストリームの終了に達したためにバイトを読み取ることができなかった場合に読み取られたバイト数または -1 です。
読み取り操作では、チャネルから最大 r バイトまで読み取ることができます。 ここで、r はバッファーに残っているバイト数、つまり読み取りが試行された時点で dst.remaining() 。
r が 0 の場合、読み取り操作は、I/O 操作を開始せずに0の結果ですぐに完了します。
長さ n のバイト シーケンスが読み取られたとします。ここで、 0>< n <= r. このバイト シーケンスはバッファーに転送されるため、シーケンスの最初のバイトはインデックス p にあり、最後のバイトはインデックス p にあります。+ n - 1。 p は読み取りが実行された時点でのバッファーの位置です。 完了すると、バッファーの位置は p + n;その制限は変更されません。
バッファーは複数の同時実行スレッドで使用しても安全ではないため、操作が完了するまでバッファーにアクセスしないように注意する必要があります。
このメソッドはいつでも呼び出すことができます。 チャネルの種類によっては、特定の時点で複数の読み取りを未処理にできない場合があります。 以前の読み取り操作が完了する前にスレッドが読み取り操作を開始すると、 ReadPendingException がスローされます。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。