Listage des fichiers contenue dans un dossier et sous-dossiers

Contenu du snippet

Bonjour,

Suite a mon premier programme, je viens d'effectuer le code qui permet de lister tous les fichiers contenue dans le dossier "repertoire" ainsi que dans tous les sous-dossiers.

Source / Exemple :


package PageWeb;

import java.io.*;

public class listerFichier {

    static File[] listeDeFichiersDansDossierEtSousDossier(String repertoire) {
        File directoryToScan = new File(repertoire);
        File[] fichiers = null;
        System.out.println("Repertoire " + repertoire + " chargé.");
//Liste tous les fichiers contenue dans le dossier spécifier :
        fichiers = directoryToScan.listFiles();
        int i = 0;
        while (i < fichiers.length) {
            if (fichiers[i].isDirectory()) {
                //Liste de sauvegarde des fichiers listés avant l'élément actuel
                File[] TempoAvantElement = new File[i];
                //Liste de sauvegarde des fichiers listés apres l'élément actuel
                File[] TempoApresElement = new File[fichiers.length - i];

                //sauvegarde des fichiers listés avant l'element actuel
                for (int j = 0; j < i; j++) {
                    TempoAvantElement[j] = fichiers[j];
                }
                //sauvegarde des fichiers listés apres l'element actuel
                int k = 0;
                for (int j = (i + 1); j < fichiers.length; j++) {
                    TempoApresElement[k] = fichiers[j];
                    k++;
                }
                //liste les fichiers du dossier trouvé
                listerFichier listageDansRepertoire = new listerFichier();
                File[] fichiersTempo = listerFichier.listeDeFichiersDansDossierEtSousDossier(fichiers[i].toString());

                //si dossier n'est pas vide :
                if (fichiersTempo.length != 0){ 
                    //Redimentionnement de l'objet
                    fichiers = new File[TempoAvantElement.length + fichiersTempo.length + TempoApresElement.length - 1];

                    //insertion des elements dans la liste
                    for (int j = 0; j < fichiers.length; j++) {
                        //fichiers listé avant le dossier :
                        if (j < i) {
                            fichiers[j] = TempoAvantElement[j];
                        } //fichier listé dans le dossier :
                        else {
                            if (j < i + fichiersTempo.length) {
                                fichiers[j] = fichiersTempo[j - i];
                            } //fichiers listé apres le dossier :
                            else {
                                fichiers[j] = TempoApresElement[j - i - fichiersTempo.length];
                            }
                        }
                    }
                }
            }
            i++;
        }
        return fichiers;
    }
}

Conclusion :


Il retourne la liste des fichiers par ordre d'arborescence et ordre alphabétique dans l'arborescence.

Voila

Bonne continuation.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (kryshnar)