Parcours de fichier

hashoush23 Messages postés 1 Date d'inscription jeudi 24 mars 2011 Statut Membre Dernière intervention 25 mars 2011 - 25 mars 2011 à 10:48
 Utilisateur anonyme - 26 mars 2011 à 16:32
bjr!je voudrais parcourir un fichier texte ligne par ligne dans le langage java et effectuer une recherche sur plusieurs mots puis les placés dans un tableau, c'est un travail qui m'a était demandé dans le cadre de mon pfe.Pouvez m'aider avec cette partie code et merci d'avance :)

1 réponse

Utilisateur anonyme
26 mars 2011 à 16:32
Salut,

Je poste vite fait car je risque d'être pris de cours par le temps. Donc je n'ai pas le temps de te faire une classe entière

Je te laisse pour l'instant la récupération de chaque ligne individuellement dans ton fichier

Si tu veux faire une recherche de mots, il faudrait les stocker. On va alors avoir besoin d'une liste.
Ensuite, tu devras parcourir la ligne récupérée et remplir cette liste avec tous les mots que ta ligne contient. Pour cela, il faudrait trouver un délimiteur pour séparer chaque mot. On va prendre alors le caractère " " (un bête espace). Et comme le hasard fait bien les choses, on peut trouver une charmante petite fonction qui sépare les mots d'une chaine et qui renvoie tout ça dans un tableau
Ensuite, il suffira de parcourir ton tableau et de faire des .equals("ce que tu veux") pour chercher des mots. Tu ajouteras alors les mots qui correspondent à une liste. Enfin, puisque tu veux avoir un tableau, tu n'as plus qu'à remplir un nouveau tableau avec ta liste.

Voilà en gros ce que ça pourrait donner. Tu entends quoi par "effectuer une recherche sur plusieurs mots " ?


// récupères ta ligne au préalable
String maLigne = ....;

// la liste qui va avoir tous les mots trouvés
LinkedList<String> motsRecuperes = new LinkedList<String>();

// on extrait tous les mots de ta ligne séparés par un espace 
String [] motsExtraits = maLigne.split( " " );

int nombreMots = motsExtraits.length();
for ( int = 0; i < nombreMots; i++ ){
   // si un mot correspond à ce que tu veux, tu l'ajoutes à ta liste
   if ( motsExtraits[i].equals("un truc que tu veux")
         motsRecuperes.add(motsExtraits[i]);
   
}

// enfin tu copies tout ça dans un tableau car tu as apparemment envie d'en avoir un
String [] tableau = new String [ motsRecuperes.length() ];

// on parcourt la liste et on rempli le tableau
ListIterator iterateur = motsRecuperes.iterator();
int cpt = 0;
while ( i.hasNext() ){
  tableau[i] = (String) i.next();
   i++;
}
0
Rejoignez-nous