Sprache

IScatteringByteChannel.Read Methode

Definition

Ü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.

Java Dokumentation für java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[], int, int).

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: