Introduction

Java fournit plusieurs classes pour manipuler les fichiers, notamment FileFileReaderFileWriterBufferedReaderPrintWriter, et plus encore. Ces classes se trouvent dans le package java.io.

La classe File

La classe File est utilisée pour créer des objets qui fournissent des chemins d’accès aux fichiers et aux répertoires. Par exemple :

File file = new File("monFichier.txt");

Cette ligne de code ne crée pas un fichier sur le disque, elle crée simplement un objet File en mémoire qui pointe vers “monFichier.txt”.

Lecture d’un fichier

Pour lire un fichier, vous pouvez utiliser les classes FileReader et BufferedReader. Par exemple :

 
try {
    File file = new File("monFichier.txt");
    FileReader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
    br.close();
    fr.close();
} catch (IOException e) {
    e.printStackTrace();
}

Dans cet exemple, nous créons un objet File pour “monFichier.txt”, puis nous créons un FileReader pour lire le fichier et un BufferedReader pour lire le texte ligne par ligne.

Écriture dans un fichier

Pour écrire dans un fichier, vous pouvez utiliser la classe FileWriter. Par exemple :

 
try {
    FileWriter writer = new FileWriter("monFichier.txt");
    writer.write("Bonjour le monde !");
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}

Dans cet exemple, nous créons un FileWriter pour “monFichier.txt” et nous utilisons la méthode write() pour écrire une chaîne de caractères dans le fichier.

BufferReader

BufferedReader est une classe Java qui permet de lire du texte à partir d’un flux d’entrée de caractères en mettant en mémoire tampon les caractères pour permettre une lecture efficace des caractères, des tableaux et des lignes. Cette classe appartient au package java.io et peut être utilisée pour traiter différents formats de fichiers.

La mise en mémoire tampon des caractères permet de réduire le nombre d’opérations d’entrée/sortie en lisant des blocs de caractères et en les stockant dans un tampon interne. Tant que le tampon contient des données, le lecteur lira à partir de celui-ci plutôt que directement à partir du flux sous-jacent.

BufferedReader peut être utilisé pour lire du texte à partir de n’importe quelle source d’entrée, qu’il s’agisse de fichiers, de sockets ou autre. Il suffit de l’envelopper autour d’un Reader approprié, comme un FileReader ou un InputStreamReader, pour bénéficier de la mise en mémoire tampon et des fonctionnalités supplémentaires telles que la lecture ligne par ligne.

Voici un exemple simple d’utilisation de BufferedReader pour lire un fichier en Java :

 
 
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        try {
            FileReader fileReader = new FileReader("/path/to/the/file");
            BufferedReader reader = new BufferedReader(fileReader);
            String line = reader.readLine();
            while (line != null) {
                System.out.println(line);
                line = reader.readLine();
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Dans cet exemple, nous créons un FileReader pour lire le fichier au chemin spécifié, puis nous créons un BufferedReader qui utilise le FileReader pour lire le fichier ligne par ligne. Nous utilisons une boucle while pour répéter le code tant que nous ne sommes pas à la fin du fichier.

En résumé, BufferedReader est une classe Java utile pour lire du texte à partir d’un flux d’entrée de caractères de manière efficace grâce à la mise en mémoire tampon des caractères. Il peut être utilisé avec différentes sources d’entrée et offre des fonctionnalités supplémentaires telles que la lecture ligne par ligne.

 

 

Gestion des exceptions

La lecture et l’écriture de fichiers peuvent générer des exceptions IOException, il est donc important de les gérer avec des blocs try/catch.

Conclusion

La gestion des fichiers est une partie essentielle de la programmation en Java. Les classes fournies par Java pour la lecture et l’écriture de fichiers sont puissantes et flexibles, ce qui permet de gérer facilement les fichiers texte et binaires.

Modifié le: jeudi 12 octobre 2023, 10:06