Flux de caractères

Exemple de lecture et d’écriture dans un fichier texte avec FileReader et FileWriter

package fr.dyma;

import java.io.*;

public class Main {
    // BufferedReader & BufferedWriter permettent de mettre en tampon les données lues  & écrites
    // sous forme de lignes (performance flux)
    public static void main(String[] args) {
        String fileName = "fichier.txt";
        // try-with-resource car FileReader implements Closeable
        // FileReader extends InputStreamReader extends Reader implements Closeable
        // FileReader encapsule FileInputStream
        // FileReader permet une utilisation simplifiée de flux pour la lecture des fichiers
        try(BufferedReader fichier = new BufferedReader(new FileReader(fileName))) {
            fichier.lines()
                    .forEach(System.out::println);

        } catch (FileNotFoundException e) {
            System.out.println("le fichier " + fileName + " n'existe pas. \n");

        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        // FileWriter extends OutputStreamWriter extends Writer implements Closeable
        // FileWriter encapsule aussi FileOutputStream extends OutputStream implements Closeable
        // FileWriter permet une utilisation simplifiée de flux pour l'écriture dans des fichiers
        // new FileWriter avec le 2ieme paramètre à true permet d'ajouter du contenu au fichier au lieu de l'écraser
        try (BufferedWriter fichier = new BufferedWriter(new FileWriter(fileName, true))) {
            fichier.write("Line 1");
            fichier.newLine();
            fichier.write("Line 2");
            fichier.newLine();

        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}Langage du code : JavaScript (javascript)