Dans ce didacticiel, nous allons découvrir Java BufferedWriter et ses méthodes à l'aide d'exemples.
La BufferedWriter
classe du java.io
package 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 BufferedWriter
maintient 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.BufferedWriter
package. 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 BufferedWriter
tampon nommé avec le FileWriter
fichier nommé.
Ici, le tampon interne du BufferedWriter
a 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 BufferedWriter
classe 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'écrivainwrite(char() array)
- écrit les caractères du tableau spécifié vers l'écrivainwrite(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).