IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Recursivité lister les fichiers d'un dossier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut Recursivité lister les fichiers d'un dossier
    Bonjour,
    J'ai récupéré se morceaux de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class recursivite {
    	public static void listeRepertoire ( File repertoire ) {
            System.out.println ( repertoire.getAbsolutePath());
     
            if ( repertoire.isDirectory ( ) ) {
                    File[] list = repertoire.listFiles();
                    if (list != null){
    	                for ( int i = 0; i < list.length; i++) {
    	                        // Appel récursif sur les sous-répertoires
    	                        listeRepertoire( list[i]);
    	                } 
                    } else {
                    	System.err.println(repertoire + " : Erreur de lecture.");
                    }
            } 
    }
    Et je voudrais afficher tous les fichier du chemin que j'ai renseigné dans le code.
    J'ai donc essayé de faire sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import java.io.*; 
    public class recursivite {
    	public static void listeRepertoire ( File repertoire ) {
            System.out.println ( repertoire.getAbsolutePath());
     
            if ( repertoire.isDirectory ( ) ) {
                    File[] list = repertoire.listFiles();
                    if (list != null){
    	                for ( int i = 0; i < list.length; i++) {
    	                        // Appel récursif sur les sous-répertoires
    	                        listeRepertoire( list[i]);
    	                } 
                    } else {
                    	System.err.println(repertoire + " : Erreur de lecture.");
                    }
            } 
    } 
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		 new File("C:\\Users\\Tiphanie\\Documents");
    	}
     
    }
    Rien ne s'affiche car je n'arrive pas a le lui demander et je m'y prend surement très mal.....
    Pouvez vous m'éclairez ??

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Merci d'utiliser les balises code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    recursivite.listeRepertoire(new File("C:\\Users\\Tiphanie\\Documents"));
    }
    Accessoirement, le nom d'une classe commence par une lettre majuscule.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Merci beaucoup cela fonctionne.
    Ensuite désolé pour la balise de code je ne l'avais pas vu!!
    Merci encore!!

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Maintenant, il faut penser au bouton

    Sinon, concernant ton code, je dirais qu'il est fonctionnellement faux.

    Lorsque tu récupères le contenu d'un répertoire (méthode getFiles()), tu as un tableau qui contient à la fois des répertoires et des fichiers.
    Donc ce n'est pas une "erreur" de rencontrer des fichiers (repertoire.isDirectory() renvoie false dans ce cas et c'est un cas qui n'est pas une erreur). Si c'est une erreur, tu dois en amont de ton appel récursif vérifier que tu ne passes à ta méthode que des répertoires en paramètres.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    En fait le but de mon code et de rechercher un fichier dont on connait le nom dans un répertoire. Car on a le chemin principal mais pas le chemin exacte de position du fichier. je voulais donc réussir à lister les fichier avant de m'embarquer dans plusieurs truc à la fois. Donc en fait au final mes fichiers ne seront pas affiché.
    Je dois dire que je n'ai pas beaucoup compris ton explication. Etant débutante en JAVA...

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    J'avoue que je ne comprends pas trop la remarque de CyberChouan.
    J'ai peut-être raté quelque chose...

    Pour moi si tu as un fichier, tu affiches son chemin.
    Si tu as un répertoire, tu listes son contenu:
    - si l'opération génère une erreur (retour à null), on affiche l'erreur
    - sinon on rappelle la méthode sur chaque élément du contenu

    Ca me semble ok sur le principe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lister les fichiers d'un dossier
    Par Mom's dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/11/2006, 08h32
  2. [PC] Lister les fichiers d'un dossier
    Par toto_in_th_sky dans le forum Cobol
    Réponses: 2
    Dernier message: 11/09/2006, 17h44
  3. Réponses: 13
    Dernier message: 24/08/2006, 13h05
  4. Lister les fichiers d'un dossier par page
    Par bwatex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 17/08/2006, 19h09
  5. Réponses: 2
    Dernier message: 24/05/2006, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo