English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java Tableau

Java Programmation orientée objet (I)

Java Programmation orientée objet (II)

Java Programmation orientée objet (III)

Gestion des exceptions Java

Java Liste (List)

Java Queue (file d'attente)

Java Map Collection

Java Set Collection

Java Entrée/Sortie (I/)

Java Reader/Writer

Autres sujets Java

Classe BufferedWriter Java

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.

Fonctionnement de BufferedWriter

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.

Créer un BufferedWriter

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.

Méthodes de BufferedWriter

La classe BufferedWriter fournit des implémentations de différentes méthodes existantes dans Writer.

Méthode write()

  • 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

Exemple : écrire des données dans le BufferedWriter du 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 {
      //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.

Méthode flush()

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.

close() method

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.

Other methods of BufferedWriter

MethodDescription
newLine()Insert a new line to the author
append()Insert the specified character into the current writer