Pg java qui lire un fichier texte

basma -  
 hichour2 -
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
Configuration: Windows 7 Internet Explorer 7.0

2 réponses

  1. danimo
     
    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
    1. hichour2
       
      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