Java BufferedReader (con esempi)

In questo tutorial impareremo a conoscere Java BufferedReader e i suoi metodi con l'aiuto di esempi.

La BufferedReaderclasse del java.iopacchetto può essere utilizzata con altri lettori per leggere i dati (in caratteri) in modo più efficiente.

Estende la classe astratta Reader.

Funzionamento di BufferedReader

La BufferedReadermantiene una interna tampone di 8192 caratteri .

Durante l'operazione di lettura in BufferedReader, un blocco di caratteri viene letto dal disco e memorizzato nel buffer interno. E dal buffer interno i caratteri vengono letti individualmente.

Pertanto, il numero di comunicazioni con il disco è ridotto. Questo è il motivo per cui leggere i caratteri è più veloce utilizzando BufferedReader.

Crea un BufferedReader

Per creare un BufferedReader, dobbiamo java.io.BuferedReaderprima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare il lettore.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

Nell'esempio precedente, abbiamo creato un BufferedReaderbuffer denominato con il FileReaderfile denominato.

Qui, il buffer interno di BufferedReaderha la dimensione predefinita di 8192 caratteri. Tuttavia, possiamo specificare anche la dimensione del buffer interno.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

Il buffer aiuterà a leggere i caratteri dai file più rapidamente.

Metodi di BufferedReader

La BufferedReaderclasse fornisce implementazioni per diversi metodi presenti in Reader.

metodo read ()

  • read() - legge un singolo carattere dal buffer interno del lettore
  • read(char() array) - legge i caratteri dal lettore e li memorizza nell'array specificato
  • read(char() array, int start, int length) - legge il numero di caratteri pari alla lunghezza dal lettore e memorizza nell'array specificato a partire dall'inizio della posizione

Ad esempio, supponiamo di avere un file denominato input.txt con il seguente contenuto.

 This is a line of text inside the file. 

Proviamo a leggere il file usando BufferedReader.

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Produzione

 Dati nel file: questa è una riga di testo all'interno del file. 

Nell'esempio precedente, abbiamo creato un lettore bufferizzato denominato input. Il lettore bufferizzato è collegato al file input.txt .

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Qui abbiamo utilizzato il read()metodo per leggere un array di caratteri dal buffer interno del lettore bufferizzato.

metodo skip ()

Per scartare e saltare il numero di caratteri specificato, possiamo usare il skip()metodo. Per esempio,

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Produzione

 Dati dopo aver saltato 5 caratteri: è una riga di testo all'interno del file. 

Nell'esempio sopra, abbiamo utilizzato il skip()metodo per saltare 5 caratteri dal lettore di file. Quindi, i personaggi 'T', 'h', 'i', 's'e ' 'vengono ignorati dal file originale.

metodo close ()

Per chiudere il lettore bufferizzato, possiamo usare il close()metodo. Una volta close()chiamato il metodo, non possiamo usare il lettore per leggere i dati.

Altri metodi di BufferedReader

Metodo Descrizione
ready() controlla se il lettore di file è pronto per essere letto
mark() segnare la posizione nel lettore fino alla quale i dati sono stati letti
reset() restituisce il controllo al punto del lettore in cui è stato impostato il segno

Per saperne di più, visita Java BufferedReader (documentazione Java ufficiale).

Articoli interessanti...