Linguaggio

BufferedReader.Read(Char[], Int32, Int32) Metodo

Definizione

Legge i caratteri in una parte di una matrice.

[Android.Runtime.Register("read", "([CII)I", "GetRead_arrayCIIHandler")]
public override int Read(char[]? cbuf, int off, int len);
[<Android.Runtime.Register("read", "([CII)I", "GetRead_arrayCIIHandler")>]
override this.Read : char[] * int * int -> int

Parametri

cbuf
Char[]

Buffer di destinazione

off
Int32

Offset in corrispondenza del quale iniziare l'archiviazione dei caratteri

len
Int32

Numero massimo di caratteri da leggere

Valori restituiti

Numero di caratteri letti o -1 se è stata raggiunta la fine del flusso

Attributi

Eccezioni

se offset buffer.length.

se questo lettore è chiuso o si verifica un altro errore di I/O.

Commenti

Legge i caratteri in una parte di una matrice.

Questo metodo implementa il contratto generale del metodo corrispondente {@link Reader#read(char[], int, int) read} della {@link Reader} classe . Come ulteriore praticità, tenta di leggere il maggior numero possibile di caratteri richiamando ripetutamente il read metodo del flusso sottostante. Questa iterazione read continua fino a quando una delle condizioni seguenti non diventa vera: <ul>

<li> Il numero specificato di caratteri è stato letto,

<li> Il read metodo del flusso sottostante restituisce -1, che indica la fine del file o

<li> Il ready metodo del flusso sottostante restituisce false, che indica che ulteriori richieste di input bloccano.

</ul> Se il primo read nel flusso sottostante restituisce -1 per indicare la fine del file, questo metodo restituisce -1. In caso contrario, questo metodo restituisce il numero di caratteri effettivamente letti.

Le sottoclassi di questa classe sono incoraggiate, ma non necessarie, per tentare di leggere il maggior numero possibile di caratteri nello stesso modo.

In genere, questo metodo accetta caratteri dal buffer di caratteri di questo flusso, riempindolo dal flusso sottostante in base alle esigenze. Se, tuttavia, il buffer è vuoto, il contrassegno non è valido e la lunghezza richiesta è almeno uguale a quella del buffer, questo metodo leggerà i caratteri direttamente dal flusso sottostante nella matrice specificata. Di conseguenza, i dati ridondanti BufferedReadernon verranno copiati inutilmente.

per java.io.BufferedReader.read(char[], 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.

Si applica a