IScatteringByteChannel.Read Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Read(ByteBuffer[]) |
Legge una sequenza di byte da questo canale nei buffer specificati. |
| Read(ByteBuffer[], Int32, Int32) |
Legge una sequenza di byte da questo canale in una sottosequenza dei buffer specificati. |
Read(ByteBuffer[])
Legge una sequenza di byte da questo canale nei buffer specificati.
[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
Parametri
- dsts
- ByteBuffer[]
Buffer in cui devono essere trasferiti i byte
Valori restituiti
Numero di byte letti, possibilmente zero o -1 se il canale ha raggiunto la fine del flusso
- Attributi
Eccezioni
se il canale viene chiuso da un altro thread durante questa operazione di lettura.
se un altro thread interrompe il thread chiamante mentre l'operazione è in corso. Lo stato di interrupt del thread chiamante è impostato e il canale viene chiuso.
se il canale è chiuso.
se si verifica un altro errore di I/O; i dettagli sono presenti nel messaggio.
se il canale non è stato aperto in una modalità che consente la lettura.
Commenti
Legge una sequenza di byte da questo canale nei buffer specificati.
Una chiamata di questo metodo del form c.read(dsts) si comporta esattamente come la chiamata
<blockquote>
c.read(dsts, 0, dsts.length);
</blockquote>
per java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[]).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Read(ByteBuffer[], Int32, Int32)
Legge una sequenza di byte da questo canale in una sottosequenza dei buffer specificati.
[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
Parametri
- dsts
- ByteBuffer[]
Buffer in cui devono essere trasferiti i byte
- offset
- Int32
Offset all'interno della matrice di buffer del primo buffer in cui devono essere trasferiti i byte; deve essere non negativo e non maggiore di dsts.length
- length
- Int32
Numero massimo di buffer a cui accedere; deve essere non negativo e non superiore a dsts.length - offset
Valori restituiti
Numero di byte letti, possibilmente zero o -1 se il canale ha raggiunto la fine del flusso
- Attributi
Eccezioni
se il canale viene chiuso da un altro thread durante questa operazione di lettura.
se un altro thread interrompe il thread chiamante mentre l'operazione è in corso. Lo stato di interrupt del thread chiamante è impostato e il canale viene chiuso.
se il canale è chiuso.
se offset o length o se offset + length è maggiore delle dimensioni di buffers.
se si verifica un altro errore di I/O; i dettagli sono presenti nel messaggio.
se il canale non è stato aperto in una modalità che consente la lettura.
Commenti
Legge una sequenza di byte da questo canale in una sottosequenza dei buffer specificati.
Una chiamata di questo metodo tenta di leggere fino a r byte da questo canale, dove r è il numero totale di byte rimanenti della sottosequenza specificata della matrice di buffer specificata, ovvero
<blockquote>
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
</blockquote>
al momento in cui questo metodo viene richiamato.
Si supponga che venga letta una sequenza di byte di lunghezza n , dove 0 <= n <= r. Fino ai primi dsts[offset].remaining() byte di questa sequenza vengono trasferiti nel buffer dsts[offset], fino ai byte successivi dsts[offset+1].remaining() vengono trasferiti nel buffer dsts[offset+1]e così via, fino a quando l'intera sequenza di byte non viene trasferita nei buffer specificati. Il maggior numero possibile di byte vengono trasferiti in ogni buffer, quindi la posizione finale di ogni buffer aggiornato, ad eccezione dell'ultimo buffer aggiornato, è garantito che sia uguale al limite del buffer.
Questo metodo può essere richiamato in qualsiasi momento. Se un altro thread ha già avviato un'operazione di lettura su questo canale, tuttavia, una chiamata di questo metodo verrà bloccata fino al completamento della prima operazione.
per java.nio.channels.ScatteringByteChannel.read(java.nio.ByteBuffer[], int, int).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.