Les Allergies
Alimentaires
Posez votre question Signaler

[Java] Supprimer Doublons d'un fichier [Résolu]

khalistoo 7Messages postés 6 juillet 2007Date d'inscription - Dernière réponse le 13 nov. 2009 à 11:17
Bonjour,
Je decouvre JAVA et j essaye tant bien que mal de creer un "deduper". Autrement dit j essaye de supprimer les doublons d'un fichier txt, tout ce qu il y a de plus simple.
J ai trouve quelques exemples mais je suis incapable d en faire marcher un seul, et surtout je ne les comprends pas tous. Est ce que quelqu un pourrait juste m expliquer simplement, un code tout bete, parce que j avoue que la c est tres frustrant. En perl je me prendrai pas vraiment la tete, je mettrai tout dans un array, j arrangerai par ordre alphabetique (sort) et ensuite ferai une loop pour comparer la ligne actuelle avec la precedente.
Et j ai peur que la complexite de java me deroute totallement. Alors je sais biensure qu a base de ligne de commande je pourrai le faire, qu en perl aussi, mais j ai besoin malheureusement de le faire en Java pour au moins reussir a progresser dans ce language et comprendre le fonctionnement,
Merci de votre aide
Lire la suite 

[Java] Supprimer Doublons d'un fichier »

1 réponses
Réponse
+0
moins plus
En fasit je me suis creuse la tete toute la nuit, et c est bon, je crois que j ai trouve.
Donc je pose une solution (je suis sure qu il y en a des millards d autres et que ce n est peut etre pas la meilleur soluce qui existe mais en tout cas, ca marche)

import java.util.*;
import java.io.*;

public class PurgeTest {
    public static void main(String args[]) {
        ArrayList<String> arrayOfStrings = new ArrayList<String>();
        try {
            BufferedReader reader = new BufferedReader(new FileReader("c:\\test.txt"));
            FileWriter fstream = new FileWriter("c:\\out.txt");
            BufferedWriter out = new BufferedWriter(fstream);
            String line = "";
            while ((line = reader.readLine()) != null) {
                arrayOfStrings.add(line);
                HashSet<String> h = new HashSet<String>(arrayOfStrings);
                arrayOfStrings.clear();
                arrayOfStrings.addAll(h);
            }
            for (String readline : arrayOfStrings) {
            	out.write(readline + "\n");
            }
            out.close();
            reader.close();
        }
        catch (Exception ex) {
        	System.out.println("Exception: " + ex.getMessage()); 
       }
    }
}



Bien entendu, je suis pret a ecouter les conseils des autres, et vos avis sur le sujet.


P.S: Comment change t'on le status de son post ?

C est bon j ai trouve. Merci
Ajouter un commentaire
Ce document intitulé « [Java] Supprimer Doublons d'un fichier » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?