begin process at 2012 02 11 05:19:20
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Fichiers / Disque

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

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


 Information sur le tutoriel

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 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 !
        /////////////////////////////

Commentaires

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

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()

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.

Commentaire de taupe4 le 09/10/2006 00:22:37

Affiche-tu les fichiers/dossiers cachés ?

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.

Commentaire de samalive le 30/03/2008 13:03:09

bien joué

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.^^

Commentaire de tchoule84 le 18/03/2010 11:26:29

Bien vu merci.

Ps c'est quoi la fonction .net 2.0 qui fait ca?

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales