English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, nous allons apprendre Java BufferedWriter et ses méthodes à l'aide d'exemples.
La classe BufferedWriter du paquet java.io peut être utilisée avec d'autres écrivains pour écrire des données de manière plus efficace (en caractères).
Il hérite de la classe abstraite Writer.
BufferedWriter maintient un tampon internede8192un tampon de caractères
Pendant l'opération d'écriture, les caractères seront écrits dans le tampon interne plutôt que sur le disque. Une fois le tampon rempli ou l'écriteur fermé, tous les caractères du tampon seront écrits sur le disque.
Cela réduit le nombre de communications avec le disque. C'est pourquoi l'écriture de caractères avec BufferedWriter est plus rapide.
Pour créer un BufferedWriter, nous devons d'abord importer le paquet java.io.BufferedWriter. Après avoir importé le paquet, nous pouvons créer un écrivain tamponné.
//Créer FileWriter FileWriter file = new FileWriter(String name); //Créer BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
Dans l'exemple ci-dessus, nous avons créé un BufferedWriter nommé buffer et un FileWriter nommé file.
Ici, la taille par défaut du tampon interne de BufferedWriter est8192de caractères. Mais, nous pouvons également spécifier la taille du tampon interne.
//Créer un BufferedWriter avec un tampon interne de taille spécifiée BufferedWriter buffer = new BufferedWriter(file, int size);
Le tampon aidera à écrire les caractères dans le fichier de manière plus efficace.
La classe BufferedWriter fournit des implémentations de différentes méthodes existantes dans Writer.
write() - Écrire un caractère unique dans le tampon interne de l'écritureur
write(char[] array) - Écrire les caractères de l'array spécifié dans l'écritureur
write(String data) - Écrire la chaîne spécifiée dans l'écritureur
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 { //Créer FileWriter FileWriter file = new FileWriter("output.txt"); //Créer BufferedWriter BufferedWriter output = new BufferedWriter(file); //Écrire une chaîne dans le fichier output.write(data); //Fermer writer output.close(); } catch (Exception e) { e.getStackTrace(); } } }
Dans l'exemple précédent, nous avons créé un BufferedWriter et un FileWriter nommés output. Le BufferedWriter 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 méthode write().
Lorsque nous exécutons le programme,output.txtLe fichier contiendra le contenu suivant.
This is a line of text inside the file.
Pour vider le tampon interne, nous pouvons utiliser la méthode flush(). Cette méthode force l'écritureur à écrire tous les données existantes dans le tampon vers le fichier cible.
Par exemple, supposons que nous ayons un fichier nomméoutput.txtun fichier vide.
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 { //Créer FileWriter FileWriter file = new FileWriter(" flush.txt "); //Créer BufferedWriter BufferedWriter output = new BufferedWriter(file); //Write data to the file output.write(data); //Refresh data to the target output.flush(); System.out.println("Data is flushed to the file."); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
Output result
data is flushed to the file.
When we run the program, the fileoutput.txtText represented by string data is filled.
To close the buffered writer, we can use the close() method. Once the close() method is called, the writer cannot be used to write data.
Method | Description |
---|---|
newLine() | Insert a new line to the author |
append() | Insert the specified character into the current writer |