📝 Ce que vous apprendrez
- Comment lire et écrire dans des fichiers
- Différence entre les cours d'eau de caractère et les cours d'eau tamponnés
- Meilleures pratiques en matière de traitement des fichiers
- Essayer avec des ressources pour une fermeture en toute sécurité
📦 Travailler avec des fichiers
Commencez par importer les classes de traitement de fichiers :
import java.io.*;
📖 Lire un fichier - FileReader & BufferedReader
try {
BufferedReader reader = new BufferedReader(new FileReader("data.txt"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (IOException e) {
System.out.println("Error reading file: " + e.getMessage());
}
✍️ Écrire dans un fichier - FileWriter
try {
FileWriter writer = new FileWriter("output.txt");
writer.write("Hello, Java File I/O!");
writer.close();
} catch (IOException e) {
System.out.println("Error writing file: " + e.getMessage());
}
Par défaut,
FileWriterécrase le fichier. Pour ajouter à la place :
FileWriter writer = new FileWriter("output.txt", true); // true = append mode
🧼 Essayer avec les ressources (Auto-Close)
Java peut fermer automatiquement des ressources telles que les lecteurs et les écrivains :
try (BufferedReader reader = new BufferedReader(new FileReader("data.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("Error: " + e.getMessage());
}
🧾 Vérifier si le fichier existe
File file = new File("data.txt");
if (file.exists()) {
System.out.println("File exists");
} else {
System.out.println("File not found");
}
🧱 Autres méthodes de fichiers utiles
file.getName(); // file name
file.length(); // file size in bytes
file.delete(); // delete file
file.createNewFile(); // create file
📘 Recap
- Utiliser
FileReader/BufferedReaderpour lire les fichiers - Utiliser
FileWriterpour écrire dans les fichiers (et ajouter si nécessaire) - Toujours traiter les exceptions
- Utiliser l'option "essayer avec les ressources" pour fermer automatiquement les flux.