Bonjour,
svp je suis une débutante en ce qui concerne le traitement fichier, j'ai besoin d'une fonction qui prend un mot comme parametre et liste les fichiers du répertoire contenant ce mot
Bonjour,
svp je suis une débutante en ce qui concerne le traitement fichier, j'ai besoin d'une fonction qui prend un mot comme parametre et liste les fichiers du répertoire contenant ce mot
Bonsoir
je ne pense pas qu'il existe une fonction toute prête pour cela, tu dois la coder.
Aide toi de la classe StreamTokenizer pour parcourir les fichiers de ton répetoire, et identifier ceux contenant le mot en question.
Il faut que tu te la crée.
En vbScript celà irait plus vite FSO est bien
Sinon bah File.
Et sinon la résolution de la recherche se fait comme un programme de résolution d'un matrice. i, j, j>i etc...
Edite :
voila une ébauche, je ne sais pas exactement si c'est ce que tu veux, il y a des amélioration a faire dans le cas où le dossier comporte des sous dossier avec isDirectory()
voila la petite fonction :
Dans main :
fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part fonctionFind("insta","C://Users/Athanase/Documents/dossierFSO"); //il ne comporte que des fichiers.
Cordialement
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 public void fonctionFind(String mo, String repertoire){ String rep=repertoire; String motSubstring; int i, j; j=0; i=0; File file=new File(rep); System.out.println(file.getName()); for(File f: file.listFiles()){ System.out.println("|"+f.getName()); for (i=0; i<=f.getName().length();i++){ for (j=i; j<=f.getName().length(); j++){ motSubstring=f.getName().substring(i,j); if (motSubstring.equals(mo)){ System.out.println(f.getName()); } } } } }
Dumbl
La fonction getName renvoie le nom du fichier et non le contenu donc tu ne recherches pas dans le fichier. De plus, tu itères vraiment très bizarrement. Je ne vois pas pourquoi tu dois faire autant de substring.
S'il fallait vérifier que le fichier a bien comme nom le paramètre donné il suffit de faire cela :
Pour ce qui est de rechercher dans un fichier, le code est presque identique à part que tu dois lire dans chaque fichier et faire un contains (sur chaque ligne par exemple jusqu'à la fin du fichier ou jusqu'à ce que tu trouves le mot qui t'intéresses, via un BufferedReader par exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void find(Strinf file, String word) { File f = new File(file); for(File sub : file.listFiles()){ if(sub.getName().contains(word)) { System.out.println(sub.getName()); } } }
Olivier Pitton
Site personnel : http://site.olivier-pitton.eu.cloudbees.net/
Page Developpez : http://olivier-pitton.developpez.com/
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager