Travail avec le système de fichiers en C# : exemples pratiques pour .NET

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# : de la théorie à la pratique



Le travail avec le système de fichiers est l'une des tâches fondamentales que tout développeur rencontre. Qu'il s'agisse de journalisation, de traitement de fichiers de configuration, d'importation de données ou de création de rapports — savoir lire, écrire et gérer correctement les fichiers en C# (.NET) est nécessaire dans tout projet. Dans cet article, nous allons analyser des exemples pratiques de travail avec le système de fichiers en C#, en commençant par les opérations simples et en terminant par le traitement des répertoires.



Nous utiliserons l'espace de noms System.IO, qui fournit toutes les classes nécessaires pour interagir avec le système de fichiers.



1. Classes principales pour travailler avec les fichiers et dossiers



Avant d'écrire du code, il est important de se familiariser avec les classes clés :



  • File — classe statique pour créer, copier, supprimer et déplacer des fichiers.
  • FileInfo — classe d'instance qui fournit des informations sur un fichier spécifique et des méthodes pour travailler avec lui.
  • Directory — classe statique pour travailler avec les dossiers.
  • DirectoryInfo — classe d'instance pour obtenir des informations sur un dossier.
  • Path — classe utilitaire pour travailler avec les chemins de fichiers.


Examinons un exemple très simple — la vérification de l'existence d'un fichier et sa création :



using System;using System.IO;

class Program{ static void Main() { string filePath = @"C:\\Test\\example.txt";

if (File.Exists(filePath)) { Console.WriteLine("Le fichier existe."); } else { File.Create(filePath).Close(); Console.WriteLine("Fichier créé."); } }}


Remarque : après File.Create(), nous appelons Close() pour libérer le flux. Dans les projets modernes, il est préférable d'utiliser la construction using.



2. Lecture et écriture de fichiers texte



Le scénario le plus courant est la lecture et l'écriture d'informations textuelles. En C#, il existe des classes pratiques StreamReader et StreamWriter pour cela.



2.1 Écriture de données dans un fichier



Exemple d'écriture de lignes dans un fichier en utilisant StreamWriter :



string path = @"C:\\Test\\log.txt";string[] lines = { "Première ligne", "Deuxième ligne", "Troisième ligne" };

using (StreamWriter writer = new StreamWriter(path, false)){ foreach (string line in lines) { writer.WriteLine(line); }}Console.WriteLine("Données écrites.");


Le deuxième paramètre du constructeur StreamWriter — false signifie l'écrasement du fichier. Si vous spécifiez true, les données seront ajoutées à la fin.



2.2 Lecture de données à partir d'un fichier



Lecture de tout le contenu ou ligne par ligne :



string path = @"C:\\Test\\log.txt";

// Lecture de tout le texte en une seule lignestring allText = File.ReadAllText(path);Console.WriteLine("Texte entier :" + allText);

// Lecture ligne par lignestring[] allLines = File.ReadAllLines(path);Console.WriteLine("Ligne par ligne :");foreach (string line in allLines){ Console.WriteLine(line);}


Pour les fichiers volumineux, il est préférable d'utiliser StreamReader avec une lecture ligne par ligne dans une boucle, afin de ne pas charger tout le fichier en mémoire.



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


3. Travail avec les fichiers binaires (FileStream)



Lorsque vous devez travailler avec des données binaires (images, archives, objets sérialisés), la classe FileStream est utilisée. Elle permet de lire et d'écrire des données sous forme d'octets.



Exemple d'écriture et de lecture d'un tableau d'octets :



Blogs

Book Recommendations