Je voudrais lister tous les fichiers d'un répertoire?

burningpat Messages postés 7 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 27 mai 2005 - 26 oct. 2004 à 15:12
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 - 26 oct. 2004 à 16:41
Bonjour,

Je voudrais lister tous les fichiers d'un répertoire (par exemple c:\MesFichiers) et stocker leur nom dans un vecteur.
Comment je fais ça?
Merci d'avance
Patrick

9 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
26 oct. 2004 à 15:35
:big) Neodante :big)

Utilise la classe FIle ... je ne t'en dit pas plus, regarde dans la javadoc ... les méthodes sont toutes faites !!!
Utilise un Iterator pour lister ensuite ...
@+

[Responsable www.neogamedev.com]
0
burningpat Messages postés 7 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 27 mai 2005
26 oct. 2004 à 15:40
oui en fait j'aurais du chercher un peu plus :) tu as été rapide pour répondre, j'ai trouvé :)
0
mojo9 Messages postés 46 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 16 mars 2006
26 oct. 2004 à 15:41
Moi je le ferais come ca...

File fDir = new File ("c:\MesFichiers");
File[] fList = fDir.listFiles();

Vector vFile = new Vector ();

for (int i=0;i<fList.length;i++) {
vFile.add(fList[i].getName());
}

Donc tu creer un nouveau file (fDir) auquel tu lui demande la liste des fichiers du repertoire (listFiles())... cela te donne un tableau de File[] et apres tu pousse les nom dans ton vecteur

Simple et efficace...

Yom DABAsS alias mojo9
0
burningpat Messages postés 7 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 27 mai 2005
26 oct. 2004 à 15:47
Mais maintenant j'ai un autre problème

je récupère donc tous les chemins de mes fichiers dans un File[]
et je veux faire des traitements pour chaque fichier.

je fais :

public void miseAJour(String fichierXML, File[] fichiertraite) {

for (int i=0; i < fichiertraite.length ; i++) {
FileInputStream flux = new FileInputStream(fichiertraite[i]);

...
}
}

mais il me dit qu'il ne trouve pas mon fichier, pourquoi?
pourtant il a bien le chemin en entier?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
26 oct. 2004 à 16:00
:big) Neodante :big)

Si tu veux lire tes fichiers je te conseille de faire un Reader et pas seulement un flux entrant ...
Si ce sont des fichiers texte (et uniquement pour les fichiers texte pas les binaires ...) utilise un BufferedReader :
new BufferedReader(InputFileReader(newFile("toto.txt")));
par exemple ..

Ensuite pour ton problème, je ne vois pas vraiment ce qu'il peut se passer, il te lance une IOException non ??? Sinon essaye la méthode isExist() déjà et dis moi ...
@+

[Responsable www.neogamedev.com]
0
burningpat Messages postés 7 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 27 mai 2005
26 oct. 2004 à 16:13
oui se sont des fichiers texte

Là oui mes "File" existent bien si je fais :

for (int i=0; i < fichiertraite.length ; i++) {
System.out.println("File"+i+" = "+fichiertraite[i]);
}

ça me renvoie :
File0 = c:\FichierExpedition\RETOUR05102004.TXT
File1 = c:\FichierExpedition\RETOUR06102004.TXT
File2 = c:\FichierExpedition\RETOUR07102004.TXT

donc ils sont bien là.
En fait, maintenant je veux les ouvrir et faire des traitements dessus.
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
26 oct. 2004 à 16:25
:big) Neodante :big)

As-tu essayé la méthode isExist() ??? Essair et dis-moi ...
@+

[Responsable www.neogamedev.com]
0
burningpat Messages postés 7 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 27 mai 2005
26 oct. 2004 à 16:25
en fait je viens de trouver merci, je me suis débrouillé autrement
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
26 oct. 2004 à 16:41
:big) Neodante :big)

Tu as fait comment ???
@+

[Responsable www.neogamedev.com]
0
Rejoignez-nous