Java BufferedWriter (con esempi)

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

La BufferedWriterclasse del java.iopacchetto può essere utilizzata con altri scrittori per scrivere dati (in caratteri) in modo più efficiente.

Estende la classe astratta Writer.

Funzionamento di BufferedWriter

La BufferedWritermantiene una interna tampone di 8192 caratteri .

Durante l'operazione di scrittura, i caratteri vengono scritti nel buffer interno invece che nel disco. Una volta riempito il buffer o chiuso il writer, tutti i caratteri nel buffer vengono scritti sul disco.

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

Crea un BufferedWriter

Per creare un BufferedWriter, dobbiamo java.io.BufferedWriterprima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare il writer bufferizzato.

 // Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file); 

Nell'esempio precedente, abbiamo creato un BufferedWriterbuffer denominato con il FileWriterfile denominato.

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

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

Il buffer aiuterà a scrivere i caratteri nei file in modo più efficiente.

Metodi di BufferedWriter

La BufferedWriterclasse fornisce implementazioni per diversi metodi presenti in Writer.

metodo write ()

  • write() - scrive un singolo carattere nel buffer interno dello scrittore
  • write(char() array) - scrive i caratteri dall'array specificato nel writer
  • write(String data) - scrive la stringa specificata nel writer

Esempio: BufferedWriter per scrivere dati su un file

 import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Nell'esempio precedente, abbiamo creato un writer bufferizzato denominato output insieme a FileWriter. Il writer bufferizzato è collegato al file output.txt .

 FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file); 

Per scrivere dati nel file, abbiamo utilizzato il write()metodo.

Qui quando eseguiamo il programma, il file output.txt viene riempito con il seguente contenuto.

 This is a line of text inside the file. 

metodo flush ()

Per cancellare il buffer interno, possiamo usare il flush()metodo. Questo metodo forza il writer a scrivere tutti i dati presenti nel buffer nel file di destinazione.

Ad esempio, supponiamo di avere un file vuoto denominato output.txt .

 import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String() args) ( String data = "This is a demo of the flush method"; try ( // Creates a FileWriter FileWriter file = new FileWriter(" flush.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes data to the file output.write(data); // Flushes data to the destination output.flush(); System.out.println("Data is flushed to the file."); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Produzione

 I dati vengono trasferiti nel file. 

Quando eseguiamo il programma, il file output.txt viene riempito con il testo rappresentato dalla stringa data.

metodo close ()

Per chiudere il writer bufferizzato, possiamo utilizzare il close()metodo. Una volta close()chiamato il metodo, non possiamo utilizzare il writer per scrivere i dati.

Altri metodi di BufferedWriter

Metodo Descrizione
newLine() inserisce una nuova riga per chi scrive
append() inserisce il carattere specificato nel writer corrente

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

Articoli interessanti...