j'aimerai savoir comment effctuer les operations suivantes
1) ouvrir un ficher texte et recuperer le contenu
2) compter le nombre d'occurrence d'un mot donne dans ce contenu qui vient d'etre recuperer
merci d'avance
j'aimerai savoir comment effctuer les operations suivantes
1) ouvrir un ficher texte et recuperer le contenu
2) compter le nombre d'occurrence d'un mot donne dans ce contenu qui vient d'etre recuperer
merci d'avance
Bonjour, tu peux essayer avec le code ci dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 String fileName = "nom de ton fichier"; int nbOccurence =0; BufferedReader in = new BufferedReader((new FileReader(fileName))); String line = in.readLine(); while (line != null) { if (!line.equals("") && line.indexOf("chaine recherchée") > 0) nbOcurrence ++; line = in.readLine(); }
Il y a 2 problème avec ton code :Envoyé par Seb19
1) Ce n'est pasmais
Code : Sélectionner tout - Visualiser dans une fenêtre à part line.indexOf("chaine recherchée") > 02) Si le mot est présent plusieurs fois dans une ligne, il ne sera compté qu'une seule occurrence
Code : Sélectionner tout - Visualiser dans une fenêtre à part line.indexOf("chaine recherchée") >= 0
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag :resolu:
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
Méthode bourrin :
Pareil qu'au dessus mais avec :
dans le while (line != null)
Code : Sélectionner tout - Visualiser dans une fenêtre à part nbOccurence+=(line.split(chaineRecherchee).length()-1);
Inconvénient :
Si on recherche le mot "mot" il en comptera 2 sans "ma moto vaut au bas mot 2000 balles".
sauf si mot = " mot "
ben le bleme c'est que le mot peut etre en fin de phrase ou de ligne ou début ligne du coup les espaces posent un problème. mais la piste est bonne et si on ajoute des espaces à la ligne, il y a encore les problèmes de ponctuations.
Un mot n'est pas toujours encadré que par des espaces, il peut être suivi ou précédé de signes de ponctuation.Envoyé par septentryon01
Par exemple si dans ma phrase précédente tu recherche les occurrences des mot "espaces" ou "ponctuation" avec ta methode, tu n'en trouveras aucune
[edit]pas assez rapide[/edit]
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag :resolu:
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
Essaye en utilisant les regex.
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag :resolu:
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
encore une methode de bourrin, tu remplaces les ponctuations par un espaces, puis tu cherches le " mot " en ajoutant à la ligne un espace en début et fin . et là ca doit pas etre trop faux.
ah ouais... Là c'est vraiment bourrin lol.
ben ouidésolé ! c'est plus pour faire avancer le schmiblick !
Partager