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 :

Faire une matrice de répertoire, sous-répertoire et fichier


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Points : 23
    Points
    23
    Par défaut Faire une matrice de répertoire, sous-répertoire et fichier
    Le contexte de ma question est la suivante:
    • Un répertoire où il y a des sous-répertoires
    • Puis dans ces répertoires où il y a des fichiers


    Je souhaite réaliser une matrice appeler File fileSorted[][] = new File[nf][nb];
    avec nf = nombre de fichier du sous- répertoire et nb : nombre de répertoire.

    L'algo que je souhaite faire est le suivant:

    Faire des boucles
    Mettre les répertoires dans une matrice fileSorted qui devra être parcouru comme suivant: filSorted[i][j] avec i=0:nf, et j=0:nb


    J'ai besoin de votre aide pour réaliser ce programme.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Tu nous montre le code que tu as fait pour qu'on puisse te guider ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Points : 23
    Points
    23
    Par défaut
    Voici mon code, mon problème est de faire un tableau de string en sortie dans la méthode listeRepertoire2;


    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Donne la liste des fichiers répertoires/List file 
     * @param folder : Folder input
     * @return
     */
    public File[] listeRepertoire (File folder){
     
    	if(folder.isDirectory()){
    		File[] list = folder.listFiles();
    		return list;
    	}
    	return null;
    }
     
     
     
        /**
     * Donne la liste des fichiers répertoires/List file 
     * @param folder : Folder input
     * @return
     */
    public String listeRepertoire2 (File folder){
    	     File  listFolder[], str[] = null;
                  String temponStr [][][]= null;
     
                String fileOuput2 = null; 
    	if(folder.isDirectory()){
     
     
    		listFolder = folder.listFiles();//Répertoire en liste
     
                    setGarb(listFolder.length); 
     
                    for (int u = 0; u<listFolder.length; u++){  
     
     
                     str= listeRepertoire(listFolder[u]); 
     
                              setNoofile(str.length);
                     for (int i =0; i<str.length;i++){
     
                        //File fileOutput = new File( str[i].toString()); 
     
     
                        //fileOuput2 =  str[i].toString(); 
     
                   //  temponStr[i][i][u] = fileOuput2; 
                      fileOuput2=  str[i].toString();                          
     
                     }
                 }
     
                    return fileOuput2; 
     
            }                 
     
            else{
     
                return null; 
            }
     
     
     
    }

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Pour commencer, si la méthode listeRepertoire2 doit retourner un tableau de String, sa signature devrait être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public String[] listeRepertoire2 (File folder)
    Ensuite, comme on doit connaitre la taille d'un tableau avant de le construire, il faudra appeler la méthode listFiles() avant de créer le tableau. La taille est le nombre de File dans le tableau retourné par listFiles(). Ensuite, il suffit de parcourir ce tableau de File, avec un for et de remplir le tableau de String. Attention, toutefois, à une chose : si l'instance de File, sur laquelle est appelée la méthode listFiles(), n'est pas un dossier (c'est-à-dire est un fichier ou n'existe pas), le tableau de File retourné est null : il peut être nécessaire de traiter ce cas, s'il ne l'est pas en amont, pour éviter le NullPointerException.

    A noter, par ailleurs, que la classe File, a une méthode, list() qui retourne directement un tableau de String.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Points : 23
    Points
    23
    Par défaut
    Ma solution est la suivante:
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
     
     
     
     
        /**
     * Donne la liste des fichiers répertoires/List file 
     * @param folder : Folder input
     * @return
     */
    public File[] listeRepertoire (File folder){
     
    	if(folder.isDirectory()){
    		File[] list = folder.listFiles();
    		return list;
    	}
    	return null;
    }
     
     
     
        /**
     * Donne la liste des fichiers répertoires/List file 
     * @param folder : Folder input
    *  @param i : numerber of under-folder
     * @return
     */
    public File []listeRepertoire2 (File folder, int i ){
     
    	if(folder.isDirectory()){
     
     
    		File str[] = folder.listFiles(); 
     
     
                    setGarb(str.length); //nombre de répertoire
     
                         File str2[] = listeRepertoire(str[i]); //lit les sous répertoire
                         setNoofile(str2.length); 
     
     
     
     
     
     
                      return str2;         
     
     
     
     
    }                       
            return null;
     
     
     
     
    }
     
    public void setNoofile(int noofiles){
        this.noofiles = noofiles; 
     
    }
     
    /**
     *Obtient le nombre de fichier dans un répertoire (ici dans les sous-répertoires)
     * @return 
     */
    public int getNoofiles(){
     
        return noofiles; 
    }
     
    public void setGarb(int garb){
        this.garb = garb; 
        }
    Et un exemple d'appel de ces méthodes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     file1 = foldersort.listeRepertoire2(inputRep, 0);

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/07/2009, 13h08
  2. [Bonne pratique] Faire une arboresence complexe avec des répertoires communs
    Par grabriel dans le forum Subversion
    Réponses: 2
    Dernier message: 08/12/2008, 14h15
  3. Réponses: 5
    Dernier message: 27/05/2007, 23h20
  4. faire une macro pour un sous formulaire
    Par db48752b dans le forum Access
    Réponses: 2
    Dernier message: 18/09/2006, 23h14

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