English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo tramite esempi Java BufferedReader e i suoi metodi.
La classe BufferedReader del pacchetto java.io può essere utilizzata insieme ad altri lettori per leggere i dati più efficacemente (in termini di caratteri).
Eredita l'astratto classe Reader.
BufferedReader mantiene un buffer internobuffer di 8192 caratteri
Durante l'operazione di lettura nel BufferedReader, parte dei caratteri viene letti dal disco e memorizzati nel buffer interno. E si legge ciascun carattere dal buffer interno.
Quindi, riduce il numero di comunicazioni con il disco. Questo è il motivo per cui l'uso di BufferedReader può leggere i caratteri più rapidamente.
Per creare un BufferedReader, dobbiamo prima importare il pacchetto java.io.BufferedReader. Dopo aver importato il pacchetto, possiamo creare il lettore.
//Crea un FileReader //Crea un FileReader //Crea un BufferedReader BufferedReader buffer = new BufferedReader(file);
Nell'esempio precedente, abbiamo creato un BufferedReader chiamato buffer e un FileReader chiamato file.
In questo caso, la dimensione predefinita del buffer interno di BufferedReader è di 8192 caratteri. Ma possiamo anche specificare la dimensione del buffer interno.
//Crea un BufferedReader con un buffer interno di dimensione specificata BufferedReader buffer = new BufferedReader(file, int size);
Il buffer aiuta a leggere più rapidamente i caratteri dai file.
La classe BufferedReader fornisce implementazioni per diversi metodi di Reader.
read() - Legge un singolo carattere dal buffer del lettore
read(char[] array) - Legge i caratteri dal lettore e li memorizza nell'array specificato
read(char[] array, int start, int length) - Legge una quantità di caratteri uguale a length e li memorizza dall'indirizzo start nell'array specificato
Ad esempio, supponiamo di avere un file chiamatoinput.txtcontenente il seguente contenuto.
Questa è una riga di testo all'interno del file.
Proviamo a leggere il file usando BufferedReader.
import java.io.FileReader; import java.io.BufferedReader; class Main { public static void main(String[] args) { //Crea un array di caratteri char[] array = new char[100]; try { //Crea FileReader FileReader file = new FileReader("input.txt"); //Crea un BufferedReader BufferedReader input = new BufferedReader(file); //Leggi il carattere input.read(array); System.out.println("Dati del file: "); System.out.println(array); //Chiudi reader input.close(); } catch(Exception e) { e.getStackTrace(); } } }
Risultato di output
Dati del file: Questa è una riga di testo all'interno del file.
Nell'esempio sopra, abbiamo creato un lettore di buffer chiamato input. Il lettore di buffer è associato ainput.txtCollegamento del file.
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
In questo caso, usiamo il metodo read() per leggere un array di caratteri dal buffer del lettore.
Per scartare e saltare una quantità specificata di caratteri, puoi usare il metodo skip(). Ad esempio
import java.io.FileReader; import java.io.BufferedReader; public class Main { public static void main(String args[]) { //Crea un array di caratteri char[] array = new char[100]; try { //Supponiamo che il file input.txt contenga il seguente testo //Questa è una riga di testo all'interno del file. FileReader file = new FileReader("input.txt"); //Crea un BufferedReader BufferedReader input = new BufferedReader(file); //Salta 5 caratteri input.skip(5); //Leggi il carattere input.read(array); System.out.println("Dati dopo aver saltato 5 caratteri:"); System.out.println(array); //Chiudi reader input.close(); } catch (Exception e) { e.getStackTrace(); } } }
Risultato di output
Dati dopo aver saltato 5 caratteri: è una riga di testo all'interno del file.
Nell'esempio sopra, abbiamo utilizzato il metodo skip() per saltare 5 caratteri dal lettore di file. Pertanto, i caratteri 'T', 'h', 'i', 's' e ' ' sono saltati dal file originale.
Per chiudere il lettore bufferizzato, possiamo utilizzare il metodo close(). Dopo aver chiamato il metodo close(), non possiamo più utilizzare il lettore per leggere i dati.
Metodo | Descrizione |
---|---|
ready() | Verifica se il lettore di file è pronto per la lettura |
mark() | Posizione dei dati letti del lettore di marchi |
reset() | Ripristina il segno di posizione, torna alla posizione impostata del lettore |