Comment lister les fichiers d’un répertoire en C#
Dans ce tutoriel nous allons découvrir comment obtenir une liste de noms de fichiers à partir d’un répertoire (y compris les sous-répertoires). Vous pouvez filtrer la liste par extension spécifique.
Pour obtenir les noms de fichier d’une répertoire, utilisez la méthode statique Directory.GetFiles. Nous avons ces fichiers et sous-répertoires dans le répertoires « c:\rep »:
Récupérer les fichiers du répertoire
Méthode Directory.GetFiles renvoie un tableau de type String contenant les noms de fichiers (chemins complets).
using System; using System.IO; public class App { public static void Main() { string[] files = Directory.GetFiles(@"c:\rep\"); foreach (string file in files) Console.WriteLine(file); } }
La sortie :
c:\rep\file.txt c:\rep\image.jpg
Récupérer les fichiers du répertoire avec l’extension
Le code ci-dessous sélectionne les fichiers avec l’extension « *.jpg ».
using System; using System.IO; public class App { public static void Main() { string[] files = Directory.GetFiles(@"c:\rep\", "*.jpg"); foreach (string file in files) Console.WriteLine(file); } }
La sortie :
c:\rep\image.jpg
Récupérer les fichiers du répertoire y compris les sous-répertoires
Si vous souhaitez également rechercher dans les sous-répertoires, utilisez le paramètre SearchOption.AllDirectories.
using System; using System.IO; public class App { public static void Main() { string[] files = Directory.GetFiles(@"c:\rep\", "*.jpg", SearchOption.AllDirectories); foreach (string file in files) Console.WriteLine(file); } }
La sortie :
c:\rep\img\photo.jpg c:\rep\image.jpg