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

  FORUM HardWare.fr
  Programmation
  Java

  rechercher dans un fichier texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

rechercher dans un fichier texte

n°1337643
simonh14
spes facit vitam
Posté le 03-04-2006 à 11:35:59  profilanswer
 

Bonjour je ne sais pas comment on peut faire pour rechercher une chaine de caractères dans un ficher texte et si on trouve le résultat, donner le numéro de ligne de cette information
je sais comment lire tout un fichier:
 
FileReader fr = new FileReader(chemin);
            BufferedReader br = new BufferedReader(fr);
             String texte = "";
             String debutrecherche= "5501 3982";
             int a = 0;
                 while(a<100)  
                 {
                   
                     texte =  texte+br.readLine() + "\r\n";
                     out.print(texte);
                     
                     a++;
                     
                 }
             br.close();
mais je sais vraiment pas comment trouver cette information. la ca me lit tout mon fichier mais c pas ce que je veux. je veux simplement qu'on me retourne le numéro de ligne dans le fichier...
 
Merci beaucoup à l'avance pour votre aide


---------------
amicalement
mood
Publicité
Posté le 03-04-2006 à 11:35:59  profilanswer
 

n°1337699
arrau
Ludwig von 54
Posté le 03-04-2006 à 12:55:08  profilanswer
 

Un truc de ce genre:
 

Code :
  1. String line = null, recherche = null, path = null;
  2. // le chemin du fichier et le mot recherche doivent etre definis
  3. try
  4.   {
  5.   BufferedReader br = new BufferedReader
  6.     (new FileReader(path));
  7. int i = 1; //initialisation du numero de ligne
  8. while ((line = br.readLine()) != null)
  9.   {
  10.     if ( line.indexOf(recherche) != -1)
  11.     System.out.println("Mot trouve a la ligne " + i );
  12.     i++;
  13.   }
  14. br.close();
  15.   }
  16. catch(FileNotFoundException exc) { System.out.println("File not found" );  }
  17. catch(IOException ioe) { System.out.println("Erreur IO" ); }


 
J'ai pas testé  ;)


Message édité par arrau le 03-04-2006 à 12:59:39
n°1337721
simonh14
spes facit vitam
Posté le 03-04-2006 à 13:44:48  profilanswer
 

Merci beaucoup tu m'as rendu un bon service là. J'aurai surement un autre question plus tard mais pour l'instant je me sens plus léger, ce problème m'ennuyant passablement ;)


---------------
amicalement
n°1337863
simonh14
spes facit vitam
Posté le 03-04-2006 à 15:46:53  profilanswer
 

Sinon j'ai encore un question.
j'ai fait mon analyse et une fois que j'ai trouvé l'index (ok) j'aimerais prendre les 45 premiers caractères de chaque ligne, jusquà la fin de mes enregistrements (i-1) et les afficher.
alors j'ai fais ce code ci
while(indexderecherche<i-2)
  {
   
  chaine= JE_SAIS_PAS_QUOI_METTRE.substring(0,46);
        %><input type="text" name ="monchamp" value="<%=chaine%>">
  indexderecherche++;
  }
je sais que je dois utiliser la méthode substring() pour les caractères... mais je vois pas comment prendre chaque ligne séparément afin d'en prendre chaque fois le contenu voulu, (faire le traitement de la chaine c'est ok) puis passer à la ligne suivante c'est ok aussi (indexderecherche++)
 
Merci bien du temps que tu prends pour me rendre ce service


---------------
amicalement
n°1338218
Flitz
Posté le 03-04-2006 à 21:32:07  profilanswer
 

Salut, pour la recherche d'une chaine dans une ligne tu peux utiliser REGEX (regular expression) dans Java (voir google car je n'ai plus en tête exactement comment ça marche).

n°1338356
simonh14
spes facit vitam
Posté le 04-04-2006 à 08:43:58  profilanswer
 

Hmm ca m'arrange pas en fait voila ce que je fais:
//CEST ICI QUE CA COINCE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
  String chaine="";
        String chaine2="";
  while(indexderecherche<i-2)
  {
  chaine= ?????substring(0,5);
        chaine2= ?????substring(5,10);
  %><input type="text"value="<%=chaine%>", name="chmp1">
             <input type="text"value="<%=chaine2%>", name="chmp2">
  <% indexderecherche++;
  }
 br.close();
 
 }
je n'arrive pas à prendre les premier caractères de chaque ligne, ainsi que les caractère 6-10, car je ne sais pas comment lire ligne par ligne pour ensuite prendre ses caractères...


---------------
amicalement
n°1338449
arrau
Ludwig von 54
Posté le 04-04-2006 à 10:25:59  profilanswer
 

A chaque fois que tu trouves ton mot dans une ligne tu veux afficher les 45 premiers caracteres de cette ligne?
 
 
while ((line = br.readLine()) != null)
  {
    if ( line.indexOf(recherche) != -1)  
    //System.out.println("Mot trouve a la ligne " + i );
    System.out.println(line.substring(0,44));
    i++;
  }


Message édité par arrau le 04-04-2006 à 10:28:10
n°1338459
simonh14
spes facit vitam
Posté le 04-04-2006 à 10:35:27  profilanswer
 

non en fait j'ai mal expliqué. une fois que j'ai trouvé ce mot.
on en tient plus compte. il sert juste à donner le départ pour la suite.
Ce que je veux c'est que après cette ligne, toute ligne étant en dessous me sorte les 45 premiers caractères. Le mot de recherche n'a plus besoin d'etre utilisé.
en l'occurence ca part de la ligne 3... et jusqu'à la ligne 20 toutes les lignes doivent me sortir les 45 premiers caractères

n°1338681
simonh14
spes facit vitam
Posté le 04-04-2006 à 14:02:38  profilanswer
 

Non c'est bon j'ai trouvé une solution
 if ((indexderecherche<i))
   {
     %><input type="text"value="<%=line.substring(0,8)%>", name="chmp1">
     <input type="text"value="<%=line.substring(9,20)%>", name="chmp2"><br>
   <%
     
    }
chouette j'ai du faire bosser mon ptit cerveau j'avais mal commencé mon analyse et j'ai repris le temps de l'écrire sur papier et mtn ca marche...  
j'aurais encore question mais je vais déjà chercher par moi -meme

n°2152763
jamespalme​r
Posté le 07-08-2012 à 11:50:12  profilanswer
 

Salut moi je n arrives pas a retrouver la ligne de la chaine de caracteres cherchee grace a ce scrip peut etre aue j ai commis une erreur :
Je suis dans dreamweaver .  
voici mon code :
 
<SCRIPT language="javascript">
   function research_string() {
      String line = null, recherche = null, path = null;
// le chemin du fichier et le mot recherche doivent etre definis  
try
  {
recherche='5941' ; path='C:\Documents and Settings\Ngapet_J\Desktop\IN_test_files\test1.txt ' ;  
  BufferedReader br = new BufferedReader (new FileReader(path));
int i = 1; //initialisation du numero de ligne  
while ((line = br.readLine()) != null)
  {
    if ( line.indexOf(recherche) != -1)
    System.out.println("Mot trouve a la ligne " + i );
    i++;
  }
br.close();
  }
catch(FileNotFoundException exc) { System.out.println("File not found" );  }
catch(IOException ioe) { System.out.println("Erreur IO" ); }
 
   }
</SCRIPT>
 
       
<FORM name="form4" action="">
  Please insert the searched string in the file (4 digits max) :  
    <INPUT type= "texte" name="mail">
   <INPUT type="button" name="bouton" value="Valider" onClick="research_string() ">
</FORM>
 
Pouvez vous m aider svp merci

mood
Publicité
Posté le 07-08-2012 à 11:50:12  profilanswer
 

n°2152766
jamespalme​r
Posté le 07-08-2012 à 12:48:54  profilanswer
 

Salut moi je n arrives pas a retrouver la ligne de la chaine de caracteres cherchee grace a ce scrip peut etre aue j ai commis une erreur :  
Je suis dans dreamweaver .  
voici mon code :  
 
<SCRIPT language="javascript">  
   function research_string() {  
      String line = null, recherche = null, path = null;  
// le chemin du fichier et le mot recherche doivent etre definis  
try  
  {  
recherche='5941' ; path='C:\Documents and Settings\Ngapet_J\Desktop\IN_test_files\test1.txt ' ;  
  BufferedReader br = new BufferedReader (new FileReader(path));  
int i = 1; //initialisation du numero de ligne  
while ((line = br.readLine()) != null)  
  {  
    if ( line.indexOf(recherche) != -1)  
    System.out.println("Mot trouve a la ligne " + i );  
    i++;  
  }  
br.close();  
  }  
catch(FileNotFoundException exc) { System.out.println("File not found" );  }  
catch(IOException ioe) { System.out.println("Erreur IO" ); }  
 
   }  
</SCRIPT>  
 
       
<FORM name="form4" action="">  
  Please insert the searched string in the file (4 digits max) :  
    <INPUT type= "texte" name="mail">  
   <INPUT type="button" name="bouton" value="Valider" onClick="research_string() ">  
</FORM>  
 
Pouvez vous m aider svp merci  


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

  rechercher dans un fichier texte

 

Sujets relatifs
ajouter un texte saisi dans la barre d'adresseProblème pour récupérer le champ texte d'une input type file
Découper un fichier audiocomment je peux créé un fichier éxécutable svp
[résolu] selectionner le texte d un textbox ou positionner curseur"Interface texte" en C
copier le résultat d'une commande dans un fichierRechercher dans un fichier texte
rechercher du texte dans un fichier avec mfc ou autre...[php] Comment rechercher un texte ds un fichier...
Plus de sujets relatifs à : rechercher dans un fichier texte


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