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

djaval01 6 Messages postés mercredi 27 avril 2011Date d'inscription 9 novembre 2012 Dernière intervention - 1 févr. 2012 à 13:42 - Dernière réponse : djaval01 6 Messages postés mercredi 27 avril 2011Date d'inscription 9 novembre 2012 Dernière intervention
- 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
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 1 févr. 2012 à 14:15
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.

Merci cs_Julien39 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 1 févr. 2012 à 13:54
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
djaval01 6 Messages postés mercredi 27 avril 2011Date d'inscription 9 novembre 2012 Dernière intervention - 1 févr. 2012 à 14:02
0
Merci
je vois,
je le teste tout à l'heure.
merci
Commenter la réponse de djaval01
djaval01 6 Messages postés mercredi 27 avril 2011Date d'inscription 9 novembre 2012 Dernière intervention - 1 févr. 2012 à 19:43
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.