IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

vérification de la présence d'un mot dans un fichier .txt


Sujet :

Langage Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut vérification de la présence d'un mot dans un fichier .txt
    bonjour,
    je suis actuellement en 2e année d'école d'ingénieur et je dois réaliser un projet java.
    Mon projet java consiste à réaliser un programme calqué sur le jeu " des chiffres et des lettres " la plus grande partie de mon programme fonctionne, cependant je n'arrive pas à vérifier le mot formé à partir des neufs lettres. J'ai un fichier txt contenant un grand nombre des mots les plus fréquents et il faudrait que je compare mon mot avec ce fichier pour voir si le mot existe bien.
    j'ai d'abord décomposer ma liste de mot en fonction des premières lettres pour éviter de comparer toute la liste à chaque fois. et je bloque à certains endroits :
    • extraire la première lettre de mon mot
    • importer mon fichier .txt
    • comparer la ligne avec mon mot et si ce n'est pas égale, tester la suivante


    sachant que je ne suis pas un spécialiste du java... surtout dans ce domaine précis des listes, expressions régulières, etc ...

    merci,
    cordialement

  2. #2
    Membre actif Avatar de fab76000
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 311
    Points : 294
    Points
    294
    Par défaut
    En ce qui concerne tes problèmes, je pense que tu peux regarder les fonction sur les string (tels que substring, split et autres...). Meme si tu n'est pas un expert essaye une ou deux fonctions.
    Pour ce qui est de charger un fichier texte en java, les documentations sont très précises la dessus si tu voulais t'y pencher. Par exemple il y a la focntion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileUtils.readFileToString(new File("tonchemin/defichier"));
    .

  3. #3
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,

    il n'y a aucune classe FileUtils dans l'api standard

    pour lire un fichier ligne par ligne http://java.developpez.com/faq/java/...eLigneParLigne

    pour extraire la première lettre d'un mot, utilise substring(int start, int end) comme a dit fab76000

  4. #4
    Membre actif Avatar de fab76000
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 311
    Points : 294
    Points
    294
    Par défaut
    Citation Envoyé par herch Voir le message
    salut,

    il n'y a aucune classe FileUtils dans l'api standard
    Effectivement mais rien n'empeche de la rajouter dans tes librairies

  5. #5
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,

    elle appartient à une librairie?? laquelle??

  6. #6
    Membre actif Avatar de fab76000
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 311
    Points : 294
    Points
    294
    Par défaut
    tu importe la classe : org.apache.commons.io.FileUtils;
    et le jar est : commons.io
    voili

  7. #7
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    ok

    merci pour l'info

  8. #8
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Effectivement mais rien n'empeche de la rajouter dans tes librairies
    En effet mais quand tu parles sur le forum d'une classe que viens d'une bibliothèque additionelle, penses a préciser de laquelle il s'agit.

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    merci pour vos conseil, mais j'ai encore un dernier petit soucis c'est que mon programme parcourt bien tout le fichier texte mais lorsque le mot est le même que dans le fichier il te "rentre" pas dans le if où se trouve les traitements et je ne comprend pas pourquoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while (n < m) 
    			{
    //condition 1		if ( (line = buff.readLine()) != null )
    				{
     
    //condition 2		        if (mot.compareTo(buff.readLine())==0)
    					{
    						res=true;
    					}
     
    				}
    				n++;
    			}
    si quelqu'un savait pourquoi ça m'aiderait beaucoup...
    merci,

  10. #10
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,
    tu fais un double appel à la méthode readLine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    while (n < m)
    {
    	//condition 1 
    	if ( (line = buff.readLine()) != null ) //tu enregistres la ligne dans la variable line
    	{
    		//condition 2 
    		if (mot.compareTo(buff.readLine())==0) //donc ici il faudra comparer avec line, et non pas faire un nouveau appel à readLine
    		{
    			res=true;
    		}
    	}
    	n++;
    }
    je crois que la 2ème condition devra ressembler à ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mot.compareTo(line)
    ceci suppose bien sûr que chaque ligne contient UN SEUL mot

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    mais le problème c'est que j'ai déjà essayer de le comparer a line mais ça donne le même résultat...

  12. #12
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    est-ce que dans ton fichier il y a un seul mot par ligne??

    et essaye d'afficher mot et line dans la boucle pour voir ce qu'ils valent

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    c'est bon j'ai trouvé d'où venait pour erreur. en fait j'avais deux variables qui était le début et la fin d'une partie de la liste pour éviter de comparer le mot à toutes les lignes, or je n'avais pas programmé pour que la lecture commence à la n-ième ligne et s'arrête à la m-ième ligne vu que je ne sais pas comment le faire. mais en enlevant toute cette partie ça marche.seul bémol, ça compare à toute la liste...

Discussions similaires

  1. Vérifier la présence d'un mot dans un fichier texte
    Par Sophie_Géo dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 13/03/2015, 14h44
  2. Réponses: 6
    Dernier message: 20/08/2007, 16h14
  3. detecter une ligne a un seul mot dans un fichier txt
    Par malikoo dans le forum Général Python
    Réponses: 9
    Dernier message: 04/07/2007, 19h43
  4. récupérer un mot dans un fichier txt
    Par thedevil dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/05/2007, 14h59
  5. Remplaçer un mot dans un fichier Txt
    Par walid_kerkoub dans le forum Delphi
    Réponses: 5
    Dernier message: 06/03/2007, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo