IScatteringByteChannel.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 die angegebenen Puffer. |
| Read(ByteBuffer[], Int32, Int32) |
Liest eine Abfolge von Bytes aus diesem Kanal in eine Untermenge der angegebenen Puffer. |
Read(ByteBuffer[])
Liest eine Abfolge von Bytes aus diesem Kanal in die angegebenen Puffer.
[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
Parameter
- dsts
- ByteBuffer[]
Die Puffer, in die Bytes übertragen werden sollen
Gibt zurück
Die Anzahl der gelesenen Bytes, möglicherweise null oder -1 wenn der Kanal das Ende des Datenstroms erreicht hat
- Attribute
Ausnahmen
wenn der Kanal während dieses Lesevorgangs von einem anderen Thread geschlossen wird.
wenn ein anderer Thread den aufrufenden Thread unterbricht, während der Vorgang ausgeführt wird. Der Unterbrechungszustand des aufrufenden Threads wird festgelegt, und der Kanal wird geschlossen.
wenn der Kanal geschlossen ist.
wenn ein anderer E/A-Fehler auftritt; Details befinden sich in der Nachricht.
wenn der Kanal nicht in einem Modus geöffnet wurde, der das Lesen zulässt.
Hinweise
Liest eine Abfolge von Bytes aus diesem Kanal in die angegebenen Puffer.
Ein Aufruf dieser Methode des Formulars c.read(dsts) verhält sich genauso wie der Aufruf
<Blockquote>
c.read(dsts, 0, dsts.length);
</blockquote>
Java Dokumentation für java.nio.channels.ScatteringByteChannel.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[], Int32, Int32)
Liest eine Abfolge von Bytes aus diesem Kanal in eine Untermenge der angegebenen Puffer.
[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
Parameter
- dsts
- ByteBuffer[]
Die Puffer, in die Bytes übertragen werden sollen
- offset
- Int32
Der Offset innerhalb des Pufferarrays des ersten Puffers, in den Bytes übertragen werden sollen; darf nicht negativ und nicht größer als dsts.length
- length
- Int32
Die maximale Anzahl von Puffern, auf die zugegriffen werden soll; darf nicht negativ und nicht größer als dsts.length - offset
Gibt zurück
Die Anzahl der gelesenen Bytes, möglicherweise null oder -1 wenn der Kanal das Ende des Datenstroms erreicht hat
- Attribute
Ausnahmen
wenn der Kanal während dieses Lesevorgangs von einem anderen Thread geschlossen wird.
wenn ein anderer Thread den aufrufenden Thread unterbricht, während der Vorgang ausgeführt wird. Der Unterbrechungszustand des aufrufenden Threads wird festgelegt, und der Kanal wird geschlossen.
wenn der Kanal geschlossen ist.
wenn oder offset , oder length wenn offset + length größer als die Größe von buffers.
wenn ein anderer E/A-Fehler auftritt; Details befinden sich in der Nachricht.
wenn der Kanal nicht in einem Modus geöffnet wurde, der das Lesen zulässt.
Hinweise
Liest eine Abfolge von Bytes aus diesem Kanal in eine Untermenge der angegebenen Puffer.
Ein Aufruf dieser Methode versucht, bis zu r Bytes aus diesem Kanal zu lesen, wobei r die Gesamtanzahl der Bytes ist, die die angegebene Untermenge des angegebenen Pufferarrays, d. h.
<Blockquote>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</blockquote>
im Moment, in dem diese Methode aufgerufen wird.
Angenommen, eine Bytesequenz der Länge n wird gelesen, wobei 0 <= n <= r. Bis zu den ersten dsts[offset].remaining() Byte dieser Sequenz werden in Puffer dsts[offset]übertragen, bis zu den nächsten dsts[offset+1].remaining() Bytes in Puffer dsts[offset+1]übertragen und so weiter, bis die gesamte Bytesequenz in die angegebenen Puffer übertragen wird. So viele Bytes wie möglich werden in jeden Puffer übertragen, daher ist die endgültige Position jedes aktualisierten Puffers, mit Ausnahme des letzten aktualisierten Puffers, garantiert gleich dem Grenzwert dieses Puffers.
Diese Methode kann jederzeit aufgerufen werden. Wenn bereits ein anderer Thread einen Lesevorgang für diesen Kanal initiiert hat, wird ein Aufruf dieser Methode jedoch blockiert, bis der erste Vorgang abgeschlossen ist.
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.