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

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 : des bases aux techniques avancées



Travailler avec le système de fichiers est l'une des tâches fondamentales en programmation. Java offre aux développeurs des outils puissants et flexibles pour gérer les fichiers et les répertoires. Dans cet article, nous allons détailler comment travailler avec le système de fichiers en Java, en utilisant à la fois le package classique java.io et le moderne java.nio.file. Vous apprendrez à créer, lire, écrire des fichiers, gérer des répertoires et gérer les exceptions.



Bases du travail avec les fichiers en Java : la classe File



La classe java.io.File est la pierre angulaire du travail avec le système de fichiers en Java. Elle représente une abstraction du chemin vers un fichier ou un répertoire. Il est important de comprendre que File ne stocke pas le contenu du fichier, mais fournit uniquement des méthodes pour vérifier les propriétés et effectuer des opérations.



Examinons les opérations de base avec File :



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

public class FileExample { public static void main(String[] args) { // Création d'un objet File File file = new File("example.txt"); File directory = new File("myDirectory");

// Vérification de l'existence System.out.println("Le fichier existe : " + file.exists()); System.out.println("Le dossier existe : " + directory.exists());

// Création d'un nouveau fichier try { if (file.createNewFile()) { System.out.println("Fichier créé : " + file.getName()); } else { System.out.println("Le fichier existe déjà"); } } catch (IOException e) { System.err.println("Erreur lors de la création du fichier : " + e.getMessage()); }

// Création d'un répertoire if (directory.mkdir()) { System.out.println("Dossier créé : " + directory.getName()); }

// Obtention d'informations sur le fichier System.out.println("Chemin absolu : " + file.getAbsolutePath()); System.out.println("Taille du fichier : " + file.length() + " octets"); System.out.println("Lisible : " + file.canRead()); System.out.println("Inscriptible : " + file.canWrite());

// Suppression du fichier if (file.delete()) { System.out.println("Fichier supprimé"); } }}


La classe File permet également de travailler avec des listes de fichiers dans un répertoire :



File currentDir = new File(".");String[] contents = currentDir.list();for (String item : contents) {    System.out.println(item);}


Lecture et écriture de fichiers : flux d'entrée-sortie



Pour travailler directement avec le contenu des fichiers, Java utilise des flux d'entrée-sortie (I/O streams). Les classes principales pour travailler avec des fichiers texte sont FileReader/FileWriter et BufferedReader/BufferedWriter.



Lecture d'un fichier ligne par ligne



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

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


Notez la construction try-with-resources. Elle ferme automatiquement le flux, ce qui évite les fuites de ressources.



Écriture dans un fichier



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

public class WriteFileExample { public static void main(String[] args) { String fil

Blogs

Book Recommendations