Travail avec le système de fichiers en C# : guide complet pour débutants

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

Travail avec le système de fichiers en C# : pour débutants



Le travail avec le système de fichiers est l'une des compétences clés de tout développeur. En C# (.NET), des outils puissants sont prévus pour créer, lire, écrire et supprimer des fichiers et des répertoires. Dans cet article, nous allons aborder les opérations de base avec le système de fichiers qui seront utiles aussi bien aux débutants qu'aux programmeurs expérimentés. Tous les exemples sont écrits en C# et utilisent l'espace de noms System.IO.



Fondamentaux du travail avec l'espace de noms System.IO



L'espace de noms System.IO contient toutes les classes principales pour interagir avec le système de fichiers. Pour commencer, ajoutez la directive suivante au début de votre fichier :



using System.IO;using System; // pour Console et autres opérations de base


Les classes principales que nous allons utiliser :

  • File — méthodes statiques pour travailler avec les fichiers (création, copie, suppression).
  • FileInfo — classe d'instance pour obtenir des informations sur un fichier spécifique.
  • Directory — méthodes statiques pour travailler avec les dossiers.
  • DirectoryInfo — classe d'instance pour les informations sur un répertoire.
  • Path — utilitaires pour travailler avec les chemins.


Examinons chaque aspect en pratique.



Création et écriture dans un fichier



La façon la plus simple de créer un fichier et d'y écrire du texte est d'utiliser la méthode File.WriteAllText. Elle crée un fichier (ou écrase un fichier existant) et écrit une chaîne.



string path = @"C:\\Temp\\example.txt";string content = "Bonjour le monde ! Ceci est un fichier de test.";

File.WriteAllText(path, content);Console.WriteLine("Fichier créé et écrit.");


Si vous devez écrire plusieurs lignes, utilisez File.WriteAllLines :



string[] lines = { "Première ligne", "Deuxième ligne", "Troisième ligne" };File.WriteAllLines(path, lines);


Pour ajouter des données à la fin d'un fichier existant, utilisez File.AppendAllText :



File.AppendAllText(path, "Ligne ajoutée.");


Lecture des données d'un fichier



La lecture d'un fichier est également intuitive. La méthode File.ReadAllText retourne tout le contenu sous forme d'une seule chaîne :



string readContent = File.ReadAllText(path);Console.WriteLine("Contenu du fichier :");Console.WriteLine(readContent);


Si le fichier est composé de lignes, il est plus pratique d'utiliser File.ReadAllLines, qui retourne un tableau de lignes :



string[] readLines = File.ReadAllLines(path);foreach (string line in readLines){    Console.WriteLine(line);}


Pour les gros fichiers, il est préférable d'utiliser la lecture en flux avec StreamReader, afin de ne pas charger tout le fichier en mémoire :



using (StreamReader reader = new StreamReader(path)){    string line;    while ((line = reader.ReadLine()) != null)    {        Console.WriteLine(line);    }}


Travail avec les dossiers (répertoires)



La création, la vérification d'existence et la suppression de dossiers sont des tâches courantes. Voici comment faire avec la classe Directory :



string dirPath = @"C:\\Temp\\MyFolder";

// Vérification de l'existenceif (!Directory.Exists(dirPath)){ Directory.CreateDirectory(dirPath); Console.WriteLine("Dossier créé.");}else{ Console.WriteLine("Le dossier existe déjà.");}

// Suppression du dossier (s'il est vide)if (Directory.Exists(dirPath)){ Directory.Delete(dirPath); Console.WriteLine("Dossier supprimé.");}


Pour obtenir la liste des fichiers dans un dossier, utilisez Directory.GetFiles :



string[] files = Directory.GetFiles(@"C:\\Temp");foreach (string file in files){    Console.WriteLine(file);}


De même pour les sous

Blogs

Book Recommendations