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

avec Java Discussion :

[Java] Problème de liste vide et de parcours d'arborescence


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Points : 18
    Points
    18
    Par défaut [Java] Problème de liste vide et de parcours d'arborescence
    Coucou, alors voilà en fait j'ai un petit problème, j'essaie de trier une arborescence d'un répertoire.
    Le problème, je l'ai trouvé en faisant le test, c'est lorsque je fais la déclaration d'ArboTriee, et que je fais un System.out.println(getListe)), cela me retourne une liste vide

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    package modele;
     
    import java.io.*;
    import java.util.ArrayList;
    import java.util.Collections;
     
    public class ArboTriee {
     
    	private ArrayList<File> liste = new ArrayList<File>();
     
    	public ArboTriee(File file){
    		Parcourir(file);
    		Collections.sort(liste);
    	}
     
    	public void Parcourir(File file){
    	        if ( file.isDirectory ( ) ) {
    	                File[] list = file.listFiles();
    	                if (list != null){
    		                for ( int i = 0; i < list.length; i++) {
    		                        Parcourir( list[i]);
    		                } 
    	                } else {
    	                	if(file.getName().endsWith("pdf")){
    	                		liste.add(file);
    	                	}
    	                }
    	        } 
    	}
     
    	public ArrayList getListe(){
    		return liste;
    	}
     
    	public void setListe(ArrayList liste){
    		this.liste = liste;
    	}
    }
    Quelqu'un aurait-il une idée s'il vous plaît ?

  2. #2
    Membre confirmé Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 152
    Points : 561
    Points
    561
    Par défaut
    En fait, tu n'ajoutes jamais de fichier :
    si il s'agit d'un fichier tu sors directement après la première condition.

    Le "else" de Parcourir(File file) doit donc être un niveau plus bas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void Parcourir(File file){
    	 if ( file.isDirectory ( ) ) {
    	          File[] list = file.listFiles();
    	          if (list != null){
    		        for ( int i = 0; i < list.length; i++) {
    		                Parcourir( list[i]);
    		        } 
    	        }
    	  } else {
    	        if(file.getName().endsWith("pdf")){
    	                liste.add(file);
    	        }
    	} 
    }
    Merci d'ajouter un sur les tags qui vous ont aidé

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Aaah merci je vois !
    Mais j'obtiens toujours une liste vide, je pense m'être trompé au niveau du test aussi alors...
    Je fais un test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		File L2 = new File("L2");
    		ArboTriee a1 = new ArboTriee(L2);
    		System.out.println("Liste : " + a1.getListe());
    L2 étant le nom et le répertoire du projet en cours, j'y ai ajouté des fichiers pdf, j'aurais donc faux ?
    Désolé de déranger...

  4. #4
    Membre confirmé Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 152
    Points : 561
    Points
    561
    Par défaut
    Pas de problème, on a tous commencé un jour
    Pour parcourir ton dossier actuel, il faut utiliser un chemin relatif donc "."
    Si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File L2 = new File("L2");
    tu vas chercher dans un répertoire "L2" contenu DANS ton projet, or il n'existe pas, le résultat est vide.

    Note : ton code marche, je l'ai testé chez moi
    Merci d'ajouter un sur les tags qui vous ont aidé

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Pourrais-tu me montrer ton test ?
    J'ai essayé tous les sous répertoires, de mon côté il y a le workspace/L2/src/lespackages et j'obtiens toujours une liste vide
    Mais merci de me dire que mon code marche ça enlève déjà un poids

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Ah noooon en fait j'avais mal compris ! Merci beaucoupppp !
    Ca fait plaisir de savoir qu'il y a des gens qui ne désespèrent pas en nous aidant lol...

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

Discussions similaires

  1. [XL-2003] Liste déroulante, problème avec cellules vides
    Par RussellD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/05/2010, 14h02
  2. [JAVA] Problème supression noeud d'un document XML
    Par vero59 dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/08/2005, 16h12
  3. Problème avec listes liées entre elles et bouton "précé
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/08/2005, 15h10
  4. [Perf]java.lang.OutOfMemoryError - liste trop grande
    Par laurent.c123 dans le forum Général Java
    Réponses: 32
    Dernier message: 25/07/2005, 09h05
  5. [Eclipse][Java]Problème de compilation sur CTRL+S
    Par ZeKiD dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 27/05/2004, 11h49

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