Trier trois fichiers textes et recopier les lignes similaires dans un autre fich [Résolu]

Messages postés
6
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
9 novembre 2012
- - Dernière réponse : djaval01
Messages postés
6
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
9 novembre 2012
- 1 févr. 2012 à 19:43
slt voilà un problème assez banale mais je bloque.
j'aimerais que vous regardiez le codes le codes suivant et me disiez ce qui ne va pas.
Ce code est censé comparer le contenu de trois fichier texte et recopier les lignes similaires dans un autre fichier.
merci d'avance.


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CombCom
{
public CombCom()
{

String ligne = null;
String ligne2 = null;
String ligne3 = null;
BufferedReader fichier1 = null;
BufferedReader fichier2 = null;
BufferedReader fichier3 = null;
BufferedWriter fichSortie = null;

try {
fichier1 = new BufferedReader(new FileReader("fichentrer1.txt"));
fichier2 = new BufferedReader(new FileReader("fichentrer2.txt"));
fichier3 = new BufferedReader(new FileReader("fichentrer3.txt"));

fichSortie = new BufferedWriter(new FileWriter("fichSortie.txt"));
while(fichier1.ready())
{
ligne = fichier1.readLine();
while(fichier2.ready())
{
ligne2 = fichier2.readLine();
if(ligne.contentEquals(ligne2))
{
while(fichier3.ready())
{
ligne3= fichier3.readLine();
if(ligne2.contentEquals(ligne3))
{
fichSortie.write(ligne3);
fichSortie.newLine();
}
}
}
}
}
}catch (IOException e){
System.err.println("IOException : "+e.getMessage());
}finally {
/*Fermeture des fichiers*/
try{
fichier1.close();
fichier2.close();
fichier3.close();
fichSortie.close();

}catch ( Exception e ){
; /*ne rien faire*/
}
}

}
}
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
3
Merci
Tu peux essayer de le faire en poo et en plus générique en utilisant une classe qui contient une liste de fichiers ainsi qu'une méthode comparer qui fait le travail pour tous les fichiers de la liste.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
0
Merci
Bonjour,

J'aurais plutôt vu un truc comme ca :

while(fichier1.ready() && fichier2.ready() && fichier1.ready()){
ligne1=fichier1.readLine();
ligne2=fichier2.readLine();
ligne3=fichier3.readLine();
if(ligne1.equals(ligne2) && ligne2.equals(ligne3)){
fichSortie.write(ligne3);
fichSortie.newLine(); 
}

}
Commenter la réponse de cs_Julien39
Messages postés
6
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
9 novembre 2012
0
Merci
je vois,
je le teste tout à l'heure.
merci
Commenter la réponse de djaval01
Messages postés
6
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
9 novembre 2012
0
Merci
bonne ton idée et plus pratique en plus.j'adopte et merci
Commenter la réponse de djaval01

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.