Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1776 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Parcourir tous les fichiers d'un rep et de ses sous-rep, en gérant la

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Parcourir tous les fichiers d'un rep et de ses sous-rep, en gérant la

n°927408
roievil
Taking Fire, Need Assistance..
Posté le 19-12-2004 à 13:27:39  profilanswer
 

alors comme le dit l'entête j'aimerai pouvoir itérer sur tous les fichiers d'un repertoire et de ses sous-repertoire
 
Mais pouvoir gérer la profondeur des fichiers que je liste :  
 
si c dans le xeme sous repertoire je ne veux pas le lister.
 
je n'arrive pas a réinitialiser ma variable j dans le programme récursif suivant :  
 
 

Code :
  1. /**
  2. * @author Olivier Glorieux
  3. *
  4. * Cette méthode permet de parcourir tous les fichiers contenus dans
  5. * un repertoire entré et ses sous-repertoires. On veut s'arrêter au  
  6. * à un seuil de profondeur entré : k l'indice de profondeur sera j
  7. */
  8. public static void itererRepertoire(String repertoire, int j, int k) {
  9.  File dir = new File(repertoire);
  10.  System.out.println(repertoire) ;
  11.  System.out.println("j : " + j) ;
  12.  //Once you have the appropriate path, you can iterate through its contents:
  13.  //List directory
  14.  // si le repertoire courant est bien un repertoire
  15.  if(dir.isDirectory()){
  16.          String s[] = dir.list();
  17.          for (int i=0; i<s.length; i++){
  18.            
  19.              File dirTemp = new File(repertoire + s[i] + "\\" );
  20.              // si le terme de la liste est lui-même un répertoire             
  21.              if(dirTemp.isDirectory() && j<k){
  22.               j++ ;
  23.               itererRepertoire(repertoire + s[i] + "\\", j, k);
  24.              }
  25.              // si le terme de la liste est un fichier
  26.              if(!dirTemp.isDirectory()){
  27.               System.out.println("fichier : " + s[i]);
  28.              }
  29.   }
  30.  }
  31. }
  32. }


 
déjà avez vous mieux comme code?
 
merci,
 
Olivier

mood
Publicité
Posté le 19-12-2004 à 13:27:39  profilanswer
 

n°927433
phnatomass
Je m'empare de ton esprit !!
Posté le 19-12-2004 à 14:05:51  profilanswer
 

Code :
  1. itererRepertoire(repertoire + s[i] + "\\", j-1, k);


?

n°927438
phnatomass
Je m'empare de ton esprit !!
Posté le 19-12-2004 à 14:25:22  profilanswer
 

Code :
  1. /**  
  2. * @author Olivier Glorieux  
  3. *  
  4. * Cette méthode permet de parcourir tous les fichiers contenus dans  
  5. * un repertoire entré et ses sous-repertoires. On veut s'arrêter au   
  6. * à un seuil de profondeur entré k  
  7. */
  8.     public static void itererRepertoire(String repertoire, int j) {
  9.        
  10.         File dir = new File(repertoire);
  11.         System.out.println(repertoire) ;
  12.         System.out.println("j : " + j) ;
  13.         //Once you have the appropriate path, you can iterate through its contents:  
  14.         //List directory  
  15.         // si le repertoire courant est bien un repertoire  
  16.         if(dir.isDirectory()){
  17.                String s[] = dir.list();
  18.                for (int i=0; i<s.length; i++){
  19.                
  20.                 File dirTemp = new File(repertoire + s[i] + "\\" );
  21.                 // si le terme de la liste est lui-même un répertoire                 
  22.                 if(dirTemp.isDirectory() && j > 0){
  23.                     itererRepertoire(repertoire + s[i] + "\\", j-1);
  24.                 }
  25.                 // si le terme de la liste est un fichier  
  26.                 if(!dirTemp.isDirectory()){
  27.                     System.out.println("fichier : " + s[i]);
  28.                 }
  29.             }
  30.         }       
  31.     }


J'ai pas testé !!

n°927440
benou
Posté le 19-12-2004 à 14:41:40  profilanswer
 

Code :
  1. public static void itererRepertoire(File dir, int depth, int maxDepth) {         
  2.         if (depth> maxDepth) {
  3.             return;
  4.         }
  5.         if (dir.isDirectory()){
  6.            File[] subdirs = dir.listFiles();
  7.            for (int i=0; i<subdirs.length; i++){
  8.               File subDir = subDirs[i];
  9.               itererRepertoire(subDir, depth+1, maxDepth);
  10.            }
  11.         } else if (dir.isFile()) {
  12.           System.out.println("fichier : " + subDir[i]);
  13.         }       
  14.     }


Message édité par benou le 19-12-2004 à 23:07:48

---------------
ma vie, mon oeuvre - HomePlayer
n°927449
roievil
Taking Fire, Need Assistance..
Posté le 19-12-2004 à 15:11:26  profilanswer
 

merci it works
 
j'ai compris le principe now
 
a+

n°927523
the real m​oins moins
Posté le 19-12-2004 à 16:46:57  profilanswer
 

depth, pas deep [:aloy]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°927550
benou
Posté le 19-12-2004 à 18:23:44  profilanswer
 


bha ouais [:le kneu]
je suis con :/


---------------
ma vie, mon oeuvre - HomePlayer
n°927567
glod 2
Votre trajet, notre projet.
Posté le 19-12-2004 à 19:22:44  profilanswer
 

Pis quitte à le faire en anglais, c'est maxDepth et pas depthMax ;)

n°927684
benou
Posté le 19-12-2004 à 23:07:34  profilanswer
 

Glod 2 a écrit :

Pis quitte à le faire en anglais, c'est maxDepth et pas depthMax ;)


 [:benou]


---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Parcourir tous les fichiers d'un rep et de ses sous-rep, en gérant la

 

Sujets relatifs
Date dans les fichiers xml/rssattributs de fichiers
kill de prog et fermeture des fichiersProbleme de droits d'ecriture des fichiers sessions dans /tmp
comment utiliser les fichiers et leur données?manipuler les fichiers excels sous VB
Fichiers FONTS (ttf)Tests sur les fichiers
Bouton "parcourir" pour aller chercher un fichierparcourir un tableau
Plus de sujets relatifs à : Parcourir tous les fichiers d'un rep et de ses sous-rep, en gérant la


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR