Classe Java BufferedWriter
Classe Java BufferedWriter
Dans ce didacticiel, nous allons découvrir Java BufferedWriter et ses méthodes à l'aide d'exemples.
Le BufferedWriter
classe du java.io
peut être utilisé avec d'autres rédacteurs 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 le tampon rempli ou le graveur fermé, tous les caractères du tampon sont écrits sur le disque.
Par conséquent, le nombre de communications vers le disque est réduit. C'est pourquoi l'écriture de caractères est plus rapide avec BufferedWriter
.
Créer un BufferedWriter
Pour créer un BufferedWriter
, il faut importer le java.io.BufferedWriter
paquet d'abord. Une fois que nous avons importé le package, voici comment nous pouvons créer le rédacteur tamponné.
// 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
nommé tampon avec le FileWriter
nommé fichier .
Ici, le buffer 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
Le BufferedWriter
la classe fournit des implémentations pour différentes méthodes présentes dans Writer
.
méthode write()
write()
- écrit un seul caractère dans le tampon interne du graveurwrite(char[] array)
- écrit les caractères du tableau spécifié dans le rédacteurwrite(String data)
- écrit la chaîne spécifiée dans le rédacteur
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 écrivain tamponné nommé output avec FileWriter
. L'écrivain tamponné est lié au output.txt fichier.
FileWriter file = new FileWriter("output.txt");
BufferedWriter output = new BufferedWriter(file);
Pour écrire des données dans le fichier, nous avons utilisé le write()
méthode.
Ici, lorsque nous exécutons le programme, le output.txt le fichier est rempli avec le contenu suivant.
This is a line of text inside the file.
Méthode flush()
Pour vider le tampon interne, nous pouvons utiliser le flush()
méthode. Cette méthode oblige le rédacteur à é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();
}
}
}
Sortie
Data is flushed to the file.
Lorsque nous exécutons le programme, le fichier output.txt est rempli avec le texte représenté par la chaîne data .
Méthode close()
Pour fermer le graveur tamponné, nous pouvons utiliser le close()
méthode. Une fois le close()
est appelée, nous ne pouvons pas utiliser le rédacteur pour écrire les données.
Autres méthodes de BufferedWriter
Méthode | Description |
---|---|
newLine() | insère une nouvelle ligne au rédacteur |
append() | insère le caractère spécifié dans le rédacteur courant |
Pour en savoir plus, visitez Java BufferedWriter (documentation officielle de Java).
Java