Java FileWriter (avec des exemples)

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

La FileWriterclasse du java.iopackage peut être utilisée pour écrire des données (en caractères) dans des fichiers.

Cela étend la OutputStreamWriterclasse.

Avant d'en savoir plus sur FileWriter, assurez-vous de connaître Java File.

Créer un FileWriter

Afin de créer un enregistreur de fichiers, nous devons d'abord importer le Java.io.FileWriterpackage. Une fois que nous avons importé le package, voici comment créer le rédacteur de fichier.

1. Utilisation du nom du fichier

 FileWriter output = new FileWriter(String name); 

Ici, nous avons créé un enregistreur de fichiers qui sera lié au fichier spécifié par le nom.

2. Utilisation d'un objet du fichier

 FileWriter input = new FileWriter(File fileObj); 

Ici, nous avons créé un enregistreur de fichier qui sera lié au fichier spécifié par l'objet du fichier.

Dans l'exemple ci-dessus, les données sont stockées à l'aide d'un encodage de caractères par défaut.

Cependant, depuis Java 11, nous pouvons également spécifier le type de codage de caractères ( UTF8 ou UTF16 ).

 FileWriter input = new FileWriter(String file, Charset cs); 

Ici, nous avons utilisé la Charsetclasse pour spécifier le codage de caractères du rédacteur de fichier.

Méthodes de FileWriter

La FileWriterclasse fournit des implémentations pour différentes méthodes présentes dans la Writerclasse.

write (), méthode

  • write() - écrit un seul caractère à 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: FileWriter pour écrire des données dans un fichier

 import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // 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 enregistreur de fichiers nommé output. Le lecteur de sortie est lié au fichier output.txt .

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

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. 

getEncoding (), méthode

La getEncoding()méthode peut être utilisée pour obtenir le type de codage utilisé pour écrire des données. Par exemple,

 import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Production

 Le codage des caractères de la sortie1: Cp1252 Le codage des caractères de la sortie2: UTF8 

Dans l'exemple ci-dessus, nous avons créé 2 enregistreurs de fichiers nommés output1 et output2.

  • output1 ne spécifie pas le codage des caractères. Par conséquent, la getEncoding()méthode renvoie le codage de caractères par défaut.
  • output2 spécifie le codage des caractères, UTF8 . Par conséquent, la getEncoding()méthode renvoie le codage de caractères spécifié.

Remarque : Nous avons utilisé la Charset.forName()méthode pour spécifier le type de codage de caractères. Pour en savoir plus, visitez Java Charset (documentation Java officielle).

close (), méthode

Pour fermer le rédacteur de fichier, 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 FileWriter

Méthode La description
flush() oblige à écrire toutes les données présentes dans l'écrivain vers la destination correspondante
append() insère le caractère spécifié dans l'écrivain courant

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

Articles intéressants...