Retour au cours

Gestion de fichiers de base : Lecture et écriture de fichiers (Introduction à NIO.2)

Maîtrise de Java : De Zéro à Développeur Professionnel (Un parcours en 50 leçons)

Leçon 43 : Gestion de fichiers de base : Lecture et écriture de fichiers

Java gère les opérations sur les fichiers à l'aide des classes d'Entrées/Sorties (I/O). Nous nous concentrerons sur l'approche moderne introduite dans Java 7 : NIO.2 (java.nio.file).

1. L'interface Path

Dans NIO.2, l'interface Path représente un chemin de système de fichiers, ce qui rend la manipulation des chemins multiplateforme et plus facile.

java import java.nio.file.Path; import java.nio.file.Paths;

// Créer un objet Path Path filePath = Paths.get("data", "info.txt"); System.out.println(filePath.toAbsolutePath());

2. Lecture d'un fichier (Simplifiée)

La classe utilitaire Files fournit des méthodes statiques simples pour les opérations courantes.

java import java.nio.file.Files; import java.nio.charset.StandardCharsets; import java.io.IOException; import java.util.List;

Path path = Paths.get("example.txt");

try { // Lit toutes les lignes dans une List List lines = Files.readAllLines(path, StandardCharsets.UTF_8); for (String line : lines) { System.out.println(line); } } catch (IOException e) { System.err.println("Échec de la lecture du fichier : " + e.getMessage()); }

3. Écriture dans un fichier (Simplifiée)

java import static java.nio.file.StandardOpenOption.CREATE; import static java.nio.file.StandardOpenOption.APPEND;

Path outputPath = Paths.get("output.log"); String content = "Entrée de log : " + LocalDateTime.now();

try { // Écrit le contenu, crée le fichier si nécessaire, et ajoute à la fin. Files.write(outputPath, content.getBytes(), CREATE, APPEND); } catch (IOException e) { e.printStackTrace(); }

Note : Les opérations de fichiers traditionnelles utilisent FileInputStream/FileOutputStream (flux d'octets) ou FileReader/FileWriter (flux de caractères). La classe Files de NIO.2 fournit des méthodes de haut niveau plus propres qui gèrent souvent la gestion des flux pour vous.