baster200x
Messages postés47Date d'inscriptionvendredi 7 mars 2008StatutMembreDernière intervention24 juillet 2011
-
15 févr. 2009 à 14:46
aminovic41
Messages postés35Date d'inscriptionmercredi 12 décembre 2007StatutMembreDernière intervention30 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)) ;
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 !
"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.
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!,,,
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 /...
Vous n’avez pas trouvé la réponse que vous recherchez ?
aminovic41
Messages postés35Date d'inscriptionmercredi 12 décembre 2007StatutMembreDernière intervention30 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