Travailler avec le système de fichiers en Java : guide pratique

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Travailler avec le système de fichiers en Java : guide pratique



Travailler avec le système de fichiers est l'une des tâches fondamentales en programmation. En Java, il existe un ensemble d'outils puissant et flexible, allant du package classique java.io au moderne java.nio.file. Dans cet article, nous allons voir, à l'aide d'exemples pratiques, comment créer, lire, écrire et supprimer des fichiers, ainsi que travailler avec des répertoires.



1. La classe File : la base du travail avec les fichiers



La classe java.io.File est la classe de base pour représenter un chemin vers un fichier ou un répertoire. Elle permet de vérifier l'existence, de créer, renommer et supprimer des objets du système de fichiers.



Création et vérification de l'existence d'un fichier



import java.io.File;import java.io.IOException;

public class FileExample { public static void main(String[] args) { File file = new File("example.txt");

if (file.exists()) { System.out.println("Le fichier existe : " + file.getAbsolutePath()); } else { try { if (file.createNewFile()) { System.out.println("Fichier créé : " + file.getName()); } } catch (IOException e) { System.err.println("Erreur lors de la création du fichier : " + e.getMessage()); } }

// Vérification des propriétés System.out.println("Lisible : " + file.canRead()); System.out.println("Inscriptible : " + file.canWrite()); System.out.println("Taille : " + file.length() + " octets"); }}


Travailler avec les répertoires



File dir = new File("my_directory");

if (dir.mkdir()) { System.out.println("Répertoire créé");}

// Création de répertoires imbriquésFile nestedDir = new File("parent/child/grandchild");if (nestedDir.mkdirs()) { System.out.println("Répertoires imbriqués créés");}

// Obtention de la liste des fichiersString[] files = dir.list();for (String fileName : files) { System.out.println(fileName);}


2. Lecture et écriture de fichiers avec FileReader/FileWriter



Pour travailler avec des fichiers texte, il est pratique d'utiliser les classes FileReader et FileWriter. Elles fonctionnent au niveau des caractères et prennent en charge les encodages.



Écrire dans un fichier



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

public class WriteExample { public static void main(String[] args) { try (FileWriter writer = new FileWriter("output.txt", true)) { writer.write("Bonjour le monde !"); writer.write("Ceci est la deuxième ligne."); writer.flush(); System.out.println("Données écrites avec succès"); } catch (IOException e) { System.err.println("Erreur d'écriture : " + e.getMessage()); } }}


Remarque : le deuxième paramètre true dans le constructeur de FileWriter active le mode d'ajout (append). Si on l'omet, le fichier sera écrasé.



Lire un fichier



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

public class ReadExample { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new FileReader("output.txt"))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { System.err.println("Erreur de lecture : " + e.getMessage()); } }}


L'utilisation de BufferedReader accélère considérablement la lecture des gros fichiers grâce à la mise en mémoire tampon.



3. Approche moderne : java.nio.file (NIO.2)



Depuis Java 7, le package java.nio.file est apparu, offrant des outils plus pratiques et plus performants pour

Blogs

Book Recommendations