English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo Java BufferedWriter e i suoi metodi con l'aiuto di esempi.
La classe BufferedWriter del pacchetto java.io può essere utilizzata insieme ad altri writer per scrivere dati più efficacemente (in termini di caratteri).
Eredita dall'astratto Writer.
BufferedWriter mantiene un buffer internocon un buffer di 8192 caratteri.
Durante l'operazione di scrittura, i caratteri vengono scritti nel buffer interno invece del disco. Una volta che il buffer è pieno o il writer viene chiuso, tutti i caratteri nel buffer vengono scritti sul disco.
Questo riduce il numero di comunicazioni con il disco. Ecco perché scrivere caratteri con BufferedWriter è più veloce.
Per creare un BufferedWriter, dobbiamo prima importare il pacchetto java.io.BufferedWriter. Dopo aver importato il pacchetto, possiamo creare il writer bufferizzato.
//crea un FileWriter FileWriter file = new FileWriter(String name); //crea un BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
Nell'esempio sopra, abbiamo creato un BufferedWriter chiamato buffer e un FileWriter chiamato file.
In questo caso, la dimensione predefinita del buffer interno di BufferedWriter è di 8192 caratteri. Ma possiamo anche specificare la dimensione del buffer interno.
//Creare un BufferedWriter con un buffer interno di dimensioni specifiche BufferedWriter buffer = new BufferedWriter(file, int size);
Il buffer aiuta a scrivere i caratteri nel file in modo più efficace.
La classe BufferedWriter fornisce implementazioni di diversi metodi presenti in Writer.
write() - scrive un singolo carattere nel buffer interno del writer
write(char[] array) - scrive i caratteri specificati nell'array nel writer
write(String data) - scrive la stringa specificata nel writer
import java.io.FileWriter; import java.io.BufferedWriter; public class Main { public static void main(String args[]) { String data = "Questo è i dati nel file di output"; try { //crea un FileWriter FileWriter file = new FileWriter("output.txt"); //crea un BufferedWriter BufferedWriter output = new BufferedWriter(file); //scrivi la stringa nel file output.write(data); //chiudi writer output.close(); } catch (Exception e) { e.getStackTrace(); } } }
Nell'esempio sopra, abbiamo creato un BufferedWriter e un FileWriter chiamati output. Il BufferedWriter è collegato al file output.txt.
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
Per scrivere i dati nel file, abbiamo utilizzato il metodo write().
Qui, quando eseguiamo il programma,output.txtIl file sarà riempito con il seguente contenuto.
Questa è una riga di testo all'interno del file.
Per svuotare la缓冲区 interna, possiamo utilizzare il metodo flush(). Questo metodo forza il writer a scrivere tutti i dati presenti nel buffer nel file di destinazione.
Ad esempio, supponiamo di avere un file chiamatooutput.txtun file vuoto.
import java.io.FileWriter; import java.io.BufferedWriter; public class Main { public static void main(String[] args) { String data = "Questo è un demo del metodo flush"; try { //crea un FileWriter FileWriter file = new FileWriter("flush.txt"); //crea un BufferedWriter BufferedWriter output = new BufferedWriter(file); //Scrivi i dati nel file output.write(data); //Aggiorna i dati nel destinatario output.flush(); System.out.println("I dati vengono aggiornati nel file."); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
Risultato di output
I dati vengono aggiornati nel file.
Quando eseguiamo il programma, il fileoutput.txtTesto rappresentato da dati di stringa.
Per chiudere il writer di buffer, possiamo utilizzare il metodo close(). Una volta chiamato il metodo close(), non possiamo utilizzare il writer per scrivere dati.
Metodo | Descrizione |
---|---|
newLine() | Inserisci una nuova riga per l'autore |
append() | Inserisci il carattere specificato nel writer corrente |