IAsynchronousByteChannel.Read Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| Read(ByteBuffer) |
Liest eine Abfolge von Bytes aus diesem Kanal in den angegebenen Puffer. |
| Read(ByteBuffer, Object, ICompletionHandler) |
Liest eine Abfolge von Bytes aus diesem Kanal in den angegebenen Puffer. |
Read(ByteBuffer)
Liest eine Abfolge von Bytes aus diesem Kanal in den angegebenen Puffer.
[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
Parameter
- dst
- ByteBuffer
Der Puffer, in den Bytes übertragen werden sollen
Gibt zurück
Eine Zukunft, die das Ergebnis des Vorgangs darstellt
- Attribute
Hinweise
Liest eine Abfolge von Bytes aus diesem Kanal in den angegebenen Puffer.
Diese Methode initiiert einen asynchronen Lesevorgang, um eine Abfolge von Bytes aus diesem Kanal in den angegebenen Puffer zu lesen. Die Methode verhält sich genau so wie die #read(ByteBuffer,Object,CompletionHandler) read(ByteBuffer,Object,CompletionHandler) Methode, mit der Ausnahme, dass diese Methode anstelle eines Vervollständigungshandlers ein Future darstellungsendes Ergebnis zurückgibt. Die FutureMethode 's Future#get() get gibt die Anzahl der gelesenen Bytes zurück oder -1 wenn keine Bytes gelesen werden konnten, da der Kanal das Ende des Datenstroms erreicht hat.
Java Dokumentation für java.nio.channels.AsynchronousByteChannel.read(java.nio.ByteBuffer).
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
Read(ByteBuffer, Object, ICompletionHandler)
Liest eine Abfolge von Bytes aus diesem Kanal in den angegebenen Puffer.
[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
Parameter
- dst
- ByteBuffer
Der Puffer, in den Bytes übertragen werden sollen
- attachment
- Object
Das Objekt, das an den E/A-Vorgang angefügt werden soll; kann sein null
- handler
- ICompletionHandler
Der Abschlusshandler
- Attribute
Hinweise
Liest eine Abfolge von Bytes aus diesem Kanal in den angegebenen Puffer.
Diese Methode initiiert einen asynchronen Lesevorgang, um eine Abfolge von Bytes aus diesem Kanal in den angegebenen Puffer zu lesen. Der handler Parameter ist ein Vervollständigungshandler, der aufgerufen wird, wenn der Lesevorgang abgeschlossen ist (oder ein Fehler auftritt). Das an den Abschlusshandler übergebene Ergebnis ist die Anzahl der gelesenen Bytes oder -1 wenn keine Bytes gelesen werden konnten, da der Kanal das Ende des Datenstroms erreicht hat.
Der Lesevorgang kann bis zu r Bytes aus dem Kanal lesen, wobei r die Anzahl der im Puffer verbleibenden Bytes ist, dst.remaining() d. h. zum Zeitpunkt des Leseversuchs. Wenn r 0 ist, wird der Lesevorgang sofort mit einem Ergebnis abgeschlossen, ohne 0 einen E/A-Vorgang zu initiieren.
Angenommen, eine Bytesequenz der Länge n wird gelesen, wobei 0 < n <= r. Diese Bytesequenz wird in den Puffer übertragen, sodass das erste Byte in der Sequenz bei Index p liegt und das letzte Byte bei index p liegt;+ n - 1, wobei p die Position des Puffers zum Zeitpunkt der Ausführung des Lesevorgangs ist. Nach Abschluss ist die Position des Puffers gleich p + n; ihr Grenzwert wird nicht geändert.
Puffer sind nicht sicher für die Verwendung durch mehrere gleichzeitige Threads, daher sollten Sie darauf achten, erst nach Abschluss des Vorgangs auf den Puffer zuzugreifen.
Diese Methode kann jederzeit aufgerufen werden. Einige Kanaltypen erlauben möglicherweise nicht, dass mehrere Lesevorgänge zu einem bestimmten Zeitpunkt ausstehen. Wenn ein Thread einen Lesevorgang initiiert, bevor ein vorheriger Lesevorgang abgeschlossen wurde, wird ein ReadPendingException Fehler ausgelöst.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.