il y a plusieurs situations ou le développeur est obligé de récupérer des informations pareilles ,et un grand merci a l'espace de noms System.IO qui nous facilite beaucoup les choses ., car tous ce que nous avons a faire c'est de créer une variable et une boucle.
pour commencer on doit ajouter l'espace de nom System.IO parce qu'il n'est pas utilisé par défaut ,
Ensuite, nous allons créer une nouvelle instance de la classe DirectoryInfo, et dans ce cas, nous utilisons le lecteur racine de C: \ comme paramètre (parce que on veux avoir des informations sur ce dernier), de sorte que le code devrait ressembler à:
DirectoryInfo fileListing = new DirectoryInfo("C:\\");
Ce code fait exactement ce que vous pensez, il prend le répertoire et vous permet d'obtenir toutes sortes d'informations (permissions,Date de creation,Derniere date de modifications ...etc)
Maintenant que nous avons notre objet DirectoryInfo, nous pouvons parcourir tous les fichiers de ce répertoire et faire n'importe quoi avec eux.Dans notre cas , on vaut seulement Remplir une ListBox avec le chemin Complet des Fichiers . pour faire cela on doit appeler la methode GetFiles() qui retourne un tableau d'objets de type FileInfo.
chaque FileInfo contient une tonne d'informations , mais tous ce qu'on a réellement besoin c'est le nom ,Donc, notre code final pourrait ressembler à:
Super simple mais soyons honnêtes, combien de fois on a besoin de tous les fichiers dans un répertoire ?! Pas très souvent, mais heureusement la Méthode GetFiles()accepte un argument "Modèle de Recherche" pour Limiter les FileInfo retournés dans le résultat.DirectoryInfo fileListing = new DirectoryInfo("C:\\");
foreach (FileInfo file in fileListing.GetFiles())
{
listBox1.Items.Add(fileListing.ToString() + file.Name);
}
Cet argument est juste une chaîne de caractères ,disons que nous voulons chercher des fichiers text (.txt) Alors Notre code de mise à jour sera le suivant:
DirectoryInfo fileListing = new DirectoryInfo("C:\\");foreach (FileInfo file in fileListing.GetFiles("*.txt"))
{
listBox1.Items.Add(fileListing.ToString() + file.Name);
}
2 commentaires:
thanks for the interesting information
Merci pour l'article :)
Enregistrer un commentaire