Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LISTER TOUS LES FICHERS D'UN DOSSIER (ET SES SOUS-DOSSIERS)


Information sur le tutorial

Catégorie :Fichiers / Disque Tutorial .NET ( DotNet ) Date de création : 04/06/2006 18:55:02 Vu : 10 884 fois

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Voila juste un petit tuto pour lister tous les fichers d'un dossier (et ses sous-dossiers).
Moi ça fait 3 jours que j'ai commencer le C# et il n'y en avait pas commenté, donc j'ai fais le mien.

Tutorial

       /////////////////////////////
        // Lister tous les fichers d'un dossier (et ses sous-dossiers) :
        //
        // 'allFiles' est ma StringCollection contenant la liste complete de tous les fichiers
        //  Pourquoi une StringCollection ? Par ce que les tableaux ont une taille fixe et
        //  utiliser une StringCollection est le seul moyen de lister tous les fichiers de
        //  dossiers et sous-dossier.
        //  (Merci à Bidou !)
        //
        // 'path' le dossier selectionner
        //
        // 'ext' la liste des extensions pour filtrer les fichers listés
        //
        // 'scanDirOk' une bool me permettant d'accepeter les scanne des sous-dossiers
        //

        public StringCollection listAllFiles(StringCollection allFiles, string path, string ext, bool scanDirOk)
        {
            // listFilesCurrDir : Tableau contenant  la liste des fichiers du dossier 'path'
            string[] listFilesCurrDir = Directory.GetFiles(path, ext);

            // On lit le tableau 'listFilesCurrDir'
            foreach (string rowFile in listFilesCurrDir)
            {
                // Si le fichier n'est pas deja dans la liste 'allFiles'
                if (allFiles.Contains(rowFile) == false)
                {
                    // On ajoute le fichier (du moins son adresse) a 'allFiles'
                    allFiles.Add(rowFile);
                }
            }
            // Vide la table 'listFilesCurrDir'pour la prochaine liste de sous-dossiers
            listFilesCurrDir = null;

            // Si on autorise la lecture des sous-dossiers
            if (scanDirOk)
            {
                // On liste tous les sous-dossiers présents dans le 'path'
                string[] listDirCurrDir = Directory.GetDirectories(path);

                // Si il existe des sous-dossiers (si la liste n'est pas vide)
                if (listDirCurrDir.Length != 0)
                {
                    // On lit le tableau 'listDirCurrDir'
                    foreach (string rowDir in listDirCurrDir)
                    {
                        // On relance la procédure pour qu'elle scanne chaque sous-dossier
                        listAllFiles(allFiles, rowDir, ext, scanDirOk);
                    }
                }
                // Vide la table 'listDirCurrDir'pour la prochaine liste de sous-dossiers
                listDirCurrDir = null;
               
            }
            // On retourne 'allFiles'
            return allFiles;
        }
        // Voila !
        /////////////////////////////
signaler à un administrateur
Commentaire de woot6768 le 06/06/2006 09:24:36

Bon code, bonne idée de l'avoir posté. Simple, efficace et bien commenté pour apprendre quelques notion.
Cependant, pour être plus lisible il manque peu être d'un peu de couleur...

Woot
Alias Wouter Tjon

signaler à un administrateur
Commentaire de sebmafate le 11/07/2006 12:05:42 administrateur CS

à noter qu'en .net 2.0, il existe une méthode qui fait ça automatiquement.

Directory.GetFiles()

signaler à un administrateur
Commentaire de econs le 22/09/2006 23:36:46 administrateur CS

A noter que chez moi, Directory.GetFiles(path, "*.jpg") lancé sur un dossier ne contenant que des MP3 renvoit les images incluses dans ces fichiers.
Un effet de bord pratique, mais qui peut surprendre.

signaler à un administrateur
Commentaire de taupe4 le 09/10/2006 00:22:37

Affiche-tu les fichiers/dossiers cachés ?

signaler à un administrateur
Commentaire de Simtris le 18/02/2007 19:42:59

Toi tu utilise Windows media player et il ajoute des images cachées dans les dossiers ou il y a des mp3s.

Ceci dis en passant on ne peut pas injecter autre chose que des tag et de l'audio dans un mp3 ... donc pas dimage au sein de se dernier.

signaler à un administrateur
Commentaire de samalive le 30/03/2008 13:03:09

bien joué

signaler à un administrateur
Commentaire de noches le 02/10/2008 16:27:25

quote Simtris: "Ceci dis en passant on ne peut pas injecter autre chose que des tag et de l'audio dans un mp3 ... donc pas d'image au sein de se dernier."

FAUX...enfin tu ne peux pas "injecter" autre chose, c'est vrai, mais sache qu'il est absolument possible de crypter une image dans un fichier de type .mp3, de même que tu peux crypter un texte dans une image, etc... C'est des pratiques courantes dans les données cachées (cryptées).

Enfin c'est H.S.^^

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,109 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.