Enregistrer une chaîne dans un fichier en Java

Rashmi Patidar 12 octobre 2023
  1. Ecrire une chaîne dans un fichier en utilisant la classe PrintWriter en Java
  2. Ecrire une chaîne dans un fichier à l’aide de la classe Files Java7
  3. Ecrire une chaîne dans un fichier à l’aide de la classe FileWriter en Java
Enregistrer une chaîne dans un fichier en Java

Cet article présente des méthodes pour écrire une chaîne dans un fichier en Java.

Ecrire une chaîne dans un fichier en utilisant la classe PrintWriter en Java

Pour écrire une chaîne dans un fichier, nous pouvons utiliser la classe PrintWriter. Le constructeur de la classe crée un fichier avec le nom spécifié donné en paramètre.

Le constructeur lance FileNotFoundException si la chaîne n’existe pas, ou si nous ne pouvons pas créer le fichier, ou si une autre erreur se produit lors de l’ouverture ou de la création du fichier.

La fonction println() imprimera la chaîne dans le fichier et terminera une ligne.

La méthode close() fermera le flux et soulagera les ressources système qui lui sont associées.

package writeStringToFile;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Objects;

public class WriteStringToFile {
  public static void main(String[] args) {
    PrintWriter printWriter = null;
    String textToBeWritten = "Hello";
    {
      try {
        printWriter = new PrintWriter("writerFile.txt");
      } catch (FileNotFoundException e) {
        System.out.println("Unable to locate the fileName: " + e.getMessage());
      }
      Objects.requireNonNull(printWriter).println(textToBeWritten);
      printWriter.close();
    }
  }
}

Ecrire une chaîne dans un fichier à l’aide de la classe Files Java7

La classe Files se compose exclusivement de méthodes statiques qui opèrent sur des fichiers, des répertoires ou d’autres types de fichiers. La méthode write() écrit des octets dans un fichier. Les paramètres d’options spécifient comment le fichier est créé ou ouvert. Si aucune option n’est présente, cette méthode fonctionne comme si les options CREATE, TRUNCATE_EXISTING et WRITE sont déjà présentes.

La méthode prend deux paramètres, path et bytes.

Le paramètre path spécifie le chemin du fichier cible. La méthode getBytes() convertit la chaîne au format Byte.

La méthode lance IOException si une erreur survient lors de l’écriture ou de la création d’un fichier.

package writeStringToFile;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class WriteStringToFileJava7 {
  public static void main(String[] args) throws IOException {
    String contentToWrite = "Hello File!";
    String path =
        "C:\IdeaProjects\JavaProblems\src\main\java\writeStringToFile\target\targetFile.txt";
    Files.write(Paths.get(path), contentToWrite.getBytes());
  }
}

Ecrire une chaîne dans un fichier à l’aide de la classe FileWriter en Java

La classe BufferedWriter crée un flux de sortie de caractères tamponné qui utilise un tampon de sortie de taille par défaut. Il prend n’importe quel objet écrivain comme paramètre. Le constructeur de classe FileWriter prend le nom du fichier, qui est la cible pour stocker la chaîne. La méthode write écrit le texte dans le fichier associé dans l’objet. Cette méthode lève IOException lorsque le fichier n’est pas localisable.

Maintenant dans le bloc finally, il faut libérer les ressources pour les opérations d’entrée et de sortie. La méthode close lance en outre la classe IOException, nous devons donc soit utiliser la fonction close dans le bloc try-catch, soit ajouter la clause throws dans la méthode parente.

package writeStringToFile;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileUsingFileWriter {
  public static void main(String[] args) throws IOException {
    BufferedWriter bufferedWriter = null;
    try {
      bufferedWriter = new BufferedWriter(new FileWriter("targetFile.txt"));
      bufferedWriter.write("Hey! Content to write in File");

    } catch (IOException e) {
      System.out.println("Exception occurred: " + e.getMessage());

    } finally {
      if (bufferedWriter != null)
        bufferedWriter.close();
    }
  }
}
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Article connexe - Java String

Article connexe - Java File