Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3146 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Probleme avec File / Buffered Reader aide svp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme avec File / Buffered Reader aide svp

n°1640460
som1
Posté le 09-11-2007 à 18:52:18  profilanswer
 

Bonjour a tous.
J'ai besoin de faire une fonction qui recherche une chaine de caracteres dans un fichier texte.
Voici la fonction que j'ai crée. Le probleme est que mon fichier n'est pas trouvé...
 
public boolean motExistant(){
 try{
   BufferedReader br = new BufferedReader
       (new FileReader("dico" ));
     int i = 0;
         while(i<100){
           if (this.mot == br.readLine()){
            System.out.println("Mot trouvé dans la liste" );
            return true;
           }
             i++;  
         }
 br.close();  
}
catch(FileNotFoundException exc) { System.out.println("File not found" );  }
catch(IOException ioe) { System.out.println("Erreur IO" ); }
System.out.println("Mot pas trouvé" );
return false;}

mood
Publicité
Posté le 09-11-2007 à 18:52:18  profilanswer
 

n°1640597
bugbreeder
Posté le 10-11-2007 à 04:16:21  profilanswer
 

Salut,
 
Le repertoire ou est ton fichier "dico" doit etre dans le CLASSPATH, ou alors indique le chemin complet de ton fichier (c:/repertoire/......./dico).
 
@++

n°1640904
som1
Posté le 11-11-2007 à 13:22:09  profilanswer
 

Dans le classpath ? J'ai trouvé le fichier mais je dois faire quoi exactement ?

n°1641099
nraynaud
lol
Posté le 11-11-2007 à 18:45:35  profilanswer
 

Avant de t'aider, j'ai une question : ça sera quoi ton fichier texte ?
En général on évite d'utiliser readLine() dans la vraie vie, parce que quand on fait des tests, les lignes font quelques caractères de long, mais quand tu passes en production, les données deviennent arbitraire, et la longueur des lignes aussi. Mon record c'est une ligne de 119Mo de long.

 

pour chercher si une chaine est présente dans une autre il faut utiliser indexOf(). si tu cherches "tatie" alors "tototatielala" correspond et pourtant ces 2 chaines ne sont pas égales (elles ne font même pas la même longueur).

 

ensuite, que vas-tu faire si ton fichier fait plus de 100 lignes ? la fonction readLine() renvoit null si tu es à la fin du fichier, tu dois donc utiliser ça comme condition d'arrêt de ta boucle.

 

enfin, il y a des subtilités dans ta gestion des exception et de la fermeture du reader, mais je pense que tu n'en es pas encore là.


Message édité par nraynaud le 11-11-2007 à 18:45:45

---------------
trainoo.com, c'est fini
n°1641237
som1
Posté le 11-11-2007 à 21:52:05  profilanswer
 

Ma fonction doit comparer une chaine avec celle présentes dans mon fichier texte. Si ces 2 chaines sont égales alors la fonction renvoie vrai.
Pour le texte de 100 lignes c'est vrai, j'ai mis 100 pour effectuer un premier test avec un mot qui est dans les 100 premiere lignes.

n°1641240
nraynaud
lol
Posté le 11-11-2007 à 21:57:34  profilanswer
 

ok, alors utilise ligneLue.equals(motCherché)


---------------
trainoo.com, c'est fini
n°1641517
som1
Posté le 12-11-2007 à 13:02:05  profilanswer
 

Merci, mais le probleme reste le meme, mon fichier texte n'est pas trouvé. ( erreur file not found ).

n°1641533
nraynaud
lol
Posté le 12-11-2007 à 13:23:23  profilanswer
 

oui, tu ne nous a pas expliqué comment tu cherches ton fichier et d'où tu lances ton programme.
 
 
Le chemin du fichier doit soit être absolu soit être relatif au lieu d'où tu as lancé le java.


---------------
trainoo.com, c'est fini
n°1641797
som1
Posté le 12-11-2007 à 20:09:43  profilanswer
 

J'utilise Eclipse. Mon fichier texte se trouve dans le package de mon projet.

n°1641958
sircam
I Like Trains
Posté le 13-11-2007 à 08:54:06  profilanswer
 

som1 a écrit :

J'utilise Eclipse. Mon fichier texte se trouve dans le package de mon projet.


C'est joli, hein, toutes les couleurs? Plus gai que la ligne de commande, pas vrai? [:itm]
 
Malheureusement, c'est une mauvaise idée pour un débutant. Tu ne sais pas où/comment tout cela s'exécute, n'est-ce pas? Il est préférable, dans un but didactique, de passer par la ligne de commande. Au passage, tu auras une chance de comprendre comment fonctionne ce foutu classpath.
 
Tu peux aussi utiliser le chemin absolu, ce qui résoudra ton problème dans l'immédiat, mais tu n'apprendras rien et tu seras bien feinté si tu déplaces ton projet ou si qqn d'autre l'ouvre sur sa machine.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
mood
Publicité
Posté le 13-11-2007 à 08:54:06  profilanswer
 

n°1642252
Bidem
Posté le 13-11-2007 à 15:10:18  profilanswer
 

http://java.developpez.com/faq/jav [...] Ressources
 
A comprendre et à utiliser pour résoudre ton problème


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Probleme avec File / Buffered Reader aide svp

 

Sujets relatifs
Problème de chargement SWFProblème de menu en cascade avec Firefox
[Débutant][QT4] De l'aide pour un signal/slotprobléme avec la fonction getDate()
Problème OLE DB avec Delphi 7Probleme avec ob_start [RESOLU]
Débutant inside : Problème de 0 à gauche dans un nombre.Problème de date avec macro
Problème avec l'URL Rewriting.Problème Lien sur un bouton
Plus de sujets relatifs à : Probleme avec File / Buffered Reader aide svp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR