Comment obtenir le contenue d'un fichier texte ?!

Résolu
baster200x Messages postés 47 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 24 juillet 2011 - 15 févr. 2009 à 14:46
aminovic41 Messages postés 35 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 30 août 2013 - 18 févr. 2009 à 03:38
bonjour à tous ,je
doit réaliser un programme qui prendre le contenue d'un ensemble de
fichiers texte et faire certains traitement(compter et afficher
l'apparition d'un mot dans le texte),pour cela j'ai utilisé le code
java suivant :

public static void main(String []args)

        {

                int nbr=0; 

                String lire="";

                String chemin="d:\\répertoire\";

                  File repertoire=new File(chemin);

                  File[] liste= repertoire.listFiles();

                 

                  for (int j=0;j<liste.length;j++)

                      {

                      try

                          { File f=liste[j];

                              BufferedReader chainelue = new BufferedReader (new FileReader(f)) ;               

                              lire+=chainelue.readLine();

                              System.out.println("*********** texte"+ ++nbr+" ***********");

                              compterMots(lire);  // ---"compterMots" c'est la méthode de traitement

                              lire="";

                          }

                      catch(IOException e){}                   

                      }

        }

exemple:

le contenue de exemple1.txt

" aa bb aa bb aa cc aa cc bb

  aa bb aa bb aa bb aa bb aa


                                            "
ce code affiche:

*********** texte1 ***********

aa    4

bb    3

cc     2

...     ....

ce code permet d'afficher le traitement d'une seule ligne de chaque fichier texte ;

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

j'ai essayé avec d'autre solution et j'ai arrivé à le faire marcher avec un seul fichier texte donné,voila le code :

 public static void main(String []args){

    InputStreamReader flog    = null;

    LineNumberReader llog    = null;

    String myLine = null;

    String phrase="";

    try{

        flog = new InputStreamReader(new FileInputStream("d:\\exemple1.txt") );

        llog = new LineNumberReader(flog);

        while ((myLine = llog.readLine()) != null) {

                      phrase=phrase+" "+myLine;

                      // --- Affichage de la ligne lu depuis le fichier


                }

        }catch (Exception e){

               // --- Gestion erreur lecture du fichier (fichier non existant, illisible, etc.)

               System.err.println("Error : "+e.getMessage());

        }

        System.out.println("*** - Texte -***");

        compterMots(phrase);


}

mon problème est que je veu que mon programme prend le contenue de
plusieur fichier texte et qui sont dans un répertoire et faire le
traitement désirer !

merci ...

6 réponses

Utilisateur anonyme
16 févr. 2009 à 02:48
Salut,

"mon problème est que je veu que mon programme prend le contenue de plusieur fichier texte et qui sont dans un répertoire et faire le traitement désirer !"

Tu veux dire TOUS les .txt du dossier OU CERTAINS des .txt ?
Si c'est TOUS les .txt (ou tous les .autreChose) j'ai une classe (à adapter) qui peut te servir.
Cette classe recherche également dans les sous-dossiers de ce dossier.

Si tu es intéressé je te la donne volontiers.

J'attend ta réponse.

Cordialement,

...\ Dan /...
3
baster200x Messages postés 47 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 24 juillet 2011
16 févr. 2009 à 10:59
salut " Dan ",
ben oui je suis intéressé et je te remercie pour ton aide !
3
Utilisateur anonyme
16 févr. 2009 à 17:00
Tu ne reponds pas à la question :  TOUS les .txt du dossier OU CERTAINS des .txt ?

...\ Dan /...
3
Utilisateur anonyme
16 févr. 2009 à 21:43
Bon je te donnerai cette classe après quelques modifications, elle te servira peut-être .
Mais avant:

Tu nous donnes 2 exemples, le premier qui lit le ou les  fichiers du dossier TOUS les fichiers (.txt ou autres).
On traite donc un premier fichier (qui semble être le seul ) et qui est par chance un .txt vu le résultat.
Mais tu ne lis qu'une ligne, affiche et comme il n'y a pas d'autre fichier fin de la boucle.

Le dexième exemple, c'est l'inverse (avec le fichier "d:\\exemple1.txt" en dur) tu traites toutes les lignes du .txt.

En s'inspirant de ces 2 codes , on doit pouvoir aboutir non!,,,

import java.io.File;
import java.io.*;

publicclass Lancer
{
static InputStream is = null;
static InputStreamReader isr = null;
static BufferedReader br = null;

publicstaticvoid main(String []args) throws IOException
{
int nbr=0;
String lire="";
String chemin="c:\\Mes programmes\"; // Changer
File repertoire=new File(chemin);
File[] liste= repertoire.listFiles();
File f = null;
if (liste != null)
{
for (int i = 0; i < liste.length; i++)
{
if (liste[i].isFile())
{
if (liste[i].getName().endsWith(".txt"))
{
f = liste[i];
System.out.println(liste[i]);
is = new FileInputStream(f);
isr = new InputStreamReader(is);
br = new BufferedReader(isr);
while ((lire = br.readLine()) != null)
{
lire+= br.readLine() + "\n";
System.out.println("*********** texte"+ ++nbr+" ***********");
System.out.println("Ligne : " + lire);
//compterMots(lire); // ---"compterMots" c'est la méthode de traitement (ne l'ayant pas je n'ai pas testé)
lire="";
}
}
}
}
}
}
}Compile ce code et dis moi si c'est ok.

Cordialement,

...\ Dan /...
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
16 févr. 2009 à 21:58
Re,

Attention !

lire="";
}
}
}
}
}
}
}Compile ce code et dis moi si c'est ok.

il y a bien 7 }

lire="";
}
}
}
}
}
}
}
Compile ce code et dis moi si c'est ok.

...\ Dan /...
3
aminovic41 Messages postés 35 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 30 août 2013
18 févr. 2009 à 03:38
slt,
je vois que vous maitraiser bien la gestion des fichiers sur java, moi jai créer une application sur les fichiers seulement le chargement du fichier texte ne s'effectue pas correctement
0
Rejoignez-nous