Rechercher un fichier dans un dossier
Bonjour
J'etais entrain d'ecrire une methode qui permet la recherche d'un fichier selon son extension dans un dossier spécifique, voila ce que j'avais élaboré jusqu'à mnt :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public void browseRep(File rep, String ext){
System.out.println(rep.getAbsolutePath());
if (rep.isDirectory()) {
File[] list = rep.listFiles();//un tableau qui contient les fichiers du rep
String [] resultat = null;// un tableau où je stockerai les resultats par la suite
int j=0;
for (int i = 0; i < list.length; i++) {
if (list[i].isFile()) {
String fileName = list[i].getName();//je stocke le nom du fichier en cours dans fileName
String extension = fileName.substring(fileName.length() - 3,fileName.length());//je stock les 3 derniers caractere du nom de fichier
if (extension.equals(ext)) {
resultat[j] = fileName;// je remplie le tableau par le nom des fichiers qui ont une extention eguale à ext
j++;
}
}
}
}
} |
Je sais que c'est un code plus ou moins bricolé, mais je viens de commencer et j'ai deux petites question :
1 - Je dois appeler cette methode depuis une classe ou une autre methode, alors comment faire pour qu'elle me retourne le tableau "resultat" et comment puis je l'exploiter une fois retourné
2 - Est ce qu'il ya une façon bien meilleur de faire une recherche de fichier selon l'extension...
merci d'avance
Rechercher un fichier dans un dossier
Bonjour,
Pour ta fonction tu ajoutes à la fin un Return comme suit :
Comme ça, ta fonction nous renvoie un tableau qu'on pourrait exploiter.
Pour l'appel via une classe, tu ferais comme suit : Imaginons que ta classe qui contient ta fonction s'appelle TraitFichier
Code:
1 2 3
| TraitFichier traiteFic = new TraitFichier ();
.......
String[] listFichier = traiteFic.browseRep(Repertoire, extension); |
Merci
Rechercher un fichier dans un dossier
Autant pour moi.... Un détail important ! Je confirme ce que vous avez signalé. Il faut que la fonction ait le même type que ce qu'elle retourne. Si elle retourne un String[] il faut qu'elle sera de ce type, on doit supprimer le mot clé void. si Elle retourne un ArrayList dans ce cas on écrit :
Code:
public ArrayList<File> browseRep( File rep, String ext )
Merci pour vos précisions