Pg java qui lire un fichier texte

Fermé
basma - 20 déc. 2009 à 18:21
 hichour2 - 21 mai 2012 à 21:44
Bonjour,
je veux un programme java qui lire un document texte et affiche la fréquence d'un mot saisie au clavier dans un autre document..
merci d'avance
A voir également:

2 réponses

Utilisateur anonyme
22 déc. 2009 à 04:27
Salut,

Qu'est-ce qui te pose problème ?

-1: saisir un mot au clavier ?
-2: lire un fichier texte ?
-3: voir dans le fichier texte l'occurence du mot saisi ?
-4: un gros manque de motivation à progammer ? (j'espère que non !!!...)
-ou ces 4 cas à la foi ?

-1: voir la classe Scanner (import java.util.Scanner;)

-2: voir InputStream, InputStreamReader et BufferedReader (import java.io.*;)

-3: voici une piste: utiliser Pattern et Matcher (import java.util.regex.Pattern; et import java.util.regex.Matcher;

On suppose que le traitement se fait depuis la méthode main(.....)

Après avoir saisi par exemple le mot "tous"
tu as:
String mot = "tous";

Ensuite tu lis ton fichier dans une boucle (tant qu'il y a encore des lignes à lire)
String ligne = "";
// supposons que le fichier contient 3 lignes:
// la 1ere
ligne = "Nous sommes le lundi 21 décembre 2009";
// la 2eme
ligne = "Bonjour à tous. Ici il fait beau tous les jours";
la 3eme
ligne = "Combien peut-il bien y avoir le mot tous dans ces 3 lignes";

il nous faut un compteur du mot dans une ligne:
private static int nbreMotsLig = 0;

et un compteur du nombre total du mot dans le fichier:
private static int nbreMotsTxt = 0;

TOUS LES 2 DÉCLARÉS DANS LA CLASSE PRINCIPALE

Et utiliser cette méthode static:

public static void comptageMots(String laLigne, String leMot)
{
 nbreMotsLig = 0;
 Pattern pat = Pattern.compile(motif);
 matcher = pat.matcher(laLigne);
 while(matcher.find())
    nbreMotsLig++;

 nbreMotsTxt+= nbreMotsLig;
 System.out.println("\nLa ligne: " + laLigne);
 System.out.println("On trouve " + nbreMotsLig + " fois \"" + motif + "\" dans cette ligne!\n");
}

On a entré le mot à compter dans:
String mot = "tous"; // entré au clavier

On a entré le nom du fichier à lire (avec son extension) puis préparé sa lecture et
commencé à lire.

Ce qui suit est la simulation de lecture et l'appel de la méthode comptageMots(....)


Appel depuis la méthode main(...) dans la boucle de lecture SIMULÉE comme ceci
         for(int i = 0; i < 3; i++)
         {
            if(i == 0)
               comptageMots("Nous sommes le lundi 21 décembre 2009",  mot);
            if(i == 1)
               comptageMots("Bonjour à tous. Ici il fait beau tous les jours",  mot);
            if(i == 2)
               comptageMots(
                  "Combien de fois peut-il bien y avoir le mot \"" + mot + "\" dans ces 3 lignes?",  mot);
         }
// le nombre total de mots est dans nbreMotsTxt.
         System.out.println("\"" + mot + "\" existe " + nbreMotsTxt + " fois dans le fichier");


Si tu as des problèmes pour les points -1: et -2: lance un petit SOS,
mais consulte tout de même la classe Scanner (import java.util.Scanner;)
ainsi que InputStream, InputStreamReader et BufferedReader (import java.io.*;)

Pour le point -4: on n'en parle pas, c´était une mauvaise plaisanterie...

Cordialement,

Dan
2
SAlut j'aimerai bien ton aide j'ai un problém de calculer tous les occurences des mots dans un repertoir qui contient bouqous de fichié txt si tu eupx maider
0
svp j'atends une reponse!!!
0