Java BufferedWriter (avec des exemples)

Dans ce didacticiel, nous allons découvrir Java BufferedWriter et ses méthodes à l'aide d'exemples.

La BufferedWriterclasse du java.iopackage peut être utilisée avec d'autres écrivains pour écrire des données (en caractères) plus efficacement.

Il étend la classe abstraite Writer.

Fonctionnement de BufferedWriter

Le BufferedWritermaintient un tampon interne de 8192 caractères .

Pendant l'opération d'écriture, les caractères sont écrits dans la mémoire tampon interne au lieu du disque. Une fois que le tampon est rempli ou que le graveur est fermé, tous les caractères du tampon sont écrits sur le disque.

Par conséquent, le nombre de communications avec le disque est réduit. C'est pourquoi l'écriture de caractères est plus rapide à utiliser BufferedWriter.

Créer un BufferedWriter

Pour créer un BufferedWriter, nous devons d'abord importer le java.io.BufferedWriterpackage. Une fois que nous avons importé le package, voici comment créer le graveur en mémoire tampon.

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

Dans l'exemple ci-dessus, nous avons créé un BufferedWritertampon nommé avec le FileWriterfichier nommé.

Ici, le tampon interne du BufferedWritera la taille par défaut de 8192 caractères. Cependant, nous pouvons également spécifier la taille du tampon interne.

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

Le tampon aidera à écrire des caractères dans les fichiers plus efficacement.

Méthodes de BufferedWriter

La BufferedWriterclasse fournit des implémentations pour différentes méthodes présentes dans Writer.

write (), méthode

  • write() - écrit un seul caractère dans le tampon interne de l'écrivain
  • write(char() array) - écrit les caractères du tableau spécifié vers l'écrivain
  • write(String data) - écrit la chaîne spécifiée dans l'écrivain

Exemple: BufferedWriter pour écrire des données dans un fichier

 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(); ) ) ) 

Dans l'exemple ci-dessus, nous avons créé un graveur tamponné nommé output avec FileWriter. L' enregistreur en mémoire tampon est lié au fichier output.txt .

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

Pour écrire des données dans le fichier, nous avons utilisé la write()méthode.

Ici, lorsque nous exécutons le programme, le fichier output.txt est rempli du contenu suivant.

 This is a line of text inside the file. 

flush (), méthode

Pour effacer le tampon interne, nous pouvons utiliser la flush()méthode. Cette méthode force le graveur à écrire toutes les données présentes dans le tampon dans le fichier de destination.

Par exemple, supposons que nous ayons un fichier vide nommé 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(); ) ) ) 

Production

 Les données sont vidées dans le fichier. 

Lorsque nous exécutons le programme, le fichier output.txt est rempli avec le texte représenté par la chaîne de données.

close (), méthode

Pour fermer le graveur en mémoire tampon, nous pouvons utiliser la close()méthode. Une fois la close()méthode appelée, nous ne pouvons pas utiliser l'écrivain pour écrire les données.

Autres méthodes de BufferedWriter

Méthode La description
newLine() insère une nouvelle ligne dans l'écrivain
append() insère le caractère spécifié dans l'écrivain courant

Pour en savoir plus, visitez Java BufferedWriter (documentation Java officielle).

Articles intéressants...