Java BufferedReader

Java BufferedReader
La classe BufferedReader di Java utilizza buffer di caratteri per garantire un'efficienza quando si legge il testo da un flusso di input di caratteri. In genere, ogni query di lettura fatta a un lettore innesca una simile richiesta di lettura da inviare al personaggio o al flusso di byte sotto. Pertanto, è consigliabile utilizzare un bufferedReader per racchiudere qualsiasi lettore che potrebbe avere costose operazioni di lettura, che includono fileReader e InputStreamReader. Aiuta a facilitare le prestazioni. Discende dalla classe Reader.

Esempio n. 1: usando un bufferedReader con un flusso in Java in Ubuntu 20.04

Un flusso di input può essere utilizzato come fonte per un bufferedReader. Per leggere i dati dal sistema.In, incapsuliamo l'InghstreamReader. Le informazioni che digitiamo sulla tastiera verranno lette da essa.

Al programma Java sopra, abbiamo importato il pacchetto "Java.io.BufferedReader "insieme ad altri pacchetti Java. Successivamente, abbiamo creato la classe pubblica Java come "test1" e creato il metodo principale al suo interno che lancia anche ioxecption se qualcosa va storto nel metodo principale. Qui, abbiamo dichiarato la variabile "Mystream" dalla classe "InputStreamReader" e assegnato il "sistema.in "che ci consente di leggere il flusso di input dall'utente. Quindi, creiamo il bufferedReader nella variabile "MyBufferedReader" e passò "Mystream" come parametro. La variabile "riga" leggi il flusso di input mentre abbiamo impostato il metodo readline con "MyBufferedReader". Abbiamo visualizzato il flusso di input dalla parola chiave attraverso il sistema.fuori.Metodo di stampa e chiuso il bufferedReader.

BufferedReader legge il flusso di input nella seguente console Java.

Esempio n. 2: utilizzando un bufferedReader per leggere i file riga per riga in java in ubuntu 20.04

La classe BufferedReader offre molti metodi per la lettura dei dati. Una riga viene letta alla volta dalla funzione readline (). Questo metodo ne produce nullo se il flusso termina. Per leggere un file, impieghiamo questo metodo:

Al programma Java Main, abbiamo dato il percorso del file "File.txt "che viene letto dalla classe FileReader. Il bufferedReader ha letto i dati da questo file che ha alcune righe di testo. Per questo, abbiamo creato la variabile "BufferedReader" e abbiamo invocato il BufferedReader che prende il "FileReader" come argomento. Abbiamo impiegato il ciclo while, che ha pedalato su ciascuna riga nel file indicato e letto dal metodo BufferedReader chiamato readline (). Alla fine, BufferedReader è chiuso.

È possibile visualizzare il metodo bufferedReader readline () Leggi il contenuto del file per riga e visualizzarlo nell'output.

Esempio n. 3: usando un bufferedReader per leggere un carattere da un file in Java in Ubuntu 20.04

Il metodo Read () di BufferedReader Class () ci consente di leggere un solo carattere alla volta. La lettura del char viene restituita da questa procedura come intero. Se ci avviciniamo alla fine del flusso, la funzione restituisce -1. Il funzionamento di questa tecnica è mostrato nel codice seguente. Abbiamo la riga "Questo è un file di testo" nel nostro file.

Il programma Java è uguale alla suddetta illustrazione. Qui, abbiamo fornito il nome del file "File.txt "alla variabile" nome file ". Il "lettore" legge il file e poi il "lettore" viene passato al bufferedReader. Il bufferedReader ha chiamato il metodo read () all'interno del ciclo while e ha restituito il personaggio uno per uno nel file.

I caratteri del file sono recuperati uno per uno dal metodo read () del bufferedReader Java.

Esempio # 4: Utilizzo di un bufferedReader per leggere più caratteri in Java in Ubuntu 20.04

Inoltre, molti caratteri possono essere letti contemporaneamente usando il metodo Read (). Un array di carbone che trattiene i dati deve essere fornito. Inoltre, dobbiamo specificare un offset per indicare l'indice iniziale dell'array char. Questo indice funge da punto di partenza per i dati salvati. È anche necessario indicare quanti personaggi possono essere letti contemporaneamente.

Innanzitutto, abbiamo dato il nome del file e quindi creiamo il bufferedReader. Dopo questo, abbiamo stabilito l'array Char [] che richiede sei caratteri alla volta. All'interno del "file.txt ", abbiamo la frase di input" testo ". La funzione Read () di BufferedReader verrà utilizzata per acquisire tutti i caratteri del file. Al metodo read (), abbiamo superato l'indice iniziale e l'indice finale dell'array di caratteri in modo che il metodo read () legga sei caratteri dal file.

Dato che abbiamo una parola "testo" all'interno del nostro file, il metodo read () emette tutti i caratteri contemporaneamente dal file.

Esempio # 5: usando un bufferedReader per saltare i personaggi in Java in Ubuntu 20.04

Una funzione skip () è disponibile nella classe BufferedReader, che può essere utilizzata per escludere i caratteri dal testo. Il parametro di tipo è piuttosto lungo. Abbiamo la riga "il mio file di testo" nel nostro file. Dobbiamo saltare un personaggio dopo aver letto ciascuno.

Abbiamo creato il bufferedReader e abbiamo superato la variabile FileReader, che ha il percorso del file. Quindi, abbiamo definito l'oggetto "chroad". Abbiamo anche definito il metodo StringBuilder per una sequenza mutabile dei caratteri nella variabile "str_b". Abbiamo utilizzato il ciclo while che è chiamato metodo read () che legge il personaggio alla volta. Poiché i personaggi vengono letti uno per uno, abbiamo il metodo saltato che salta il personaggio successivo dopo aver letto il personaggio.

Dopo che il personaggio è stato saltato dalla linea fornita, l'output è ottenuto in questo modo:

Esempio # 6: Utilizzo di un bufferedReader per Mark e riposa in Java in Ubuntu 20.04

Per contrassegnare un carattere specifico, la classe BufferedReader ha la funzione Mark (). Ogni volta che vogliamo in futuro, possiamo usare il metodo reset () per tornare al carattere designato. Un numero intero che rappresenta il numero di byte che possono essere letti in totale prima che il marchio sia considerato errato è l'input per il metodo Mark ().

Abbiamo la parola "li*nux" presente nel nostro file. Abbiamo specificato il file "file.txt "al filereader. Quindi, abbiamo costruito il bufferedReader in cui è passato il filereader. Tutti i personaggi verranno letti, ma leggeremo quelli con un asterisco. Successivamente, useremo reset per tornare a questo punto (). Per questo, abbiamo definito l'array con l'indice specificato per ciascun carattere. Dopo i due indici dell'array, abbiamo segnato il metodo del segno di asterisco e lo abbiamo saltato con il metodo Skip. Il metodo REST riporterà al carattere marcato in qualsiasi momento.

L'asterisco contrassegnato nel file viene saltato dall'implementazione di cui sopra del codice.

Conclusione

La classe BufferedReader viene utilizzata per leggere dati da fonti come file o flussi, utilizzando un buffer che minimizza le operazioni di I/O, migliora le prestazioni di altri lettori. Molte tecniche pratiche per leggere i dati sono disponibili tramite la classe BufferedReader. Una singola riga può essere letta usando la funzione readline (). Puoi leggere uno o più caratteri usando il metodo read ().