IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

détection doublons de fichier


Sujet :

Langage Delphi

  1. #1
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut détection doublons de fichier
    Bonjour à tous !

    Je doit créer un logiciel permettant de detecter les doublons dans un repertoire. Je devrais donc trouver les fichiers en doublons et mettre les doublons dans un autre repertoire.

    Le problème vient au niveau du traitement. Je pensais faire un tableau, le trier et vérifier les doublons mais étant donnée la grosseur du repertoire (600.000 fichiers), ça ferais ramer l'ordinateur étant donnée qu'un faudrais environ 300 octets à mettre en memoire par fichier.

    Quelqu'un aurais t'il une methode pour pouvoir traiter cette opération s'il vous plait :

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut
    Oui en créeant une signature md5 pour chaque fichier et en les triant.

  3. #3
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 670
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 670
    Points : 7 030
    Points
    7 030
    Par défaut
    Citation Envoyé par cpdump
    Oui en créeant une signature md5 pour chaque fichier et en les triant.
    C'est à dire ?
    Ca m'intéresse. Tu peux en dire plus ?


  4. #4
    Membre confirmé
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Points : 453
    Points
    453
    Par défaut
    qu'entends tu par doublon ?

    c'est juste le nom du fichier que tu devras gérer ou faudra t il ouvrir chaque fichier ?

    Dans le premier cas, une boucle et un tableau avec un application.processmessages bien placé devrait suffire, dans le deuxième je ne vois pas de version autre que de tout ouvrir et tout stocker...

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    La solution de passer par un hash (MD4, MD5, Sha..) est à mon avis la meilleure.

    La procédure peut être la suivante :

    Pour chaque fichier du répertoire
    Hacher le fichier
    Chercher le hash, par exemple dans un descendant de TObjectList qui les maintient triés
    Si le hash n'est pas trouvé, l'ajouter (ainsi que éventuellement le chemin d'accès au fichier)
    Si le hash est trouvé, le fichier est visiblement en double.

    L'utilisation d'un hash résouds le problème mais entraine quelques inconvénients :
    - Chaque fichier devant être haché, cela prends un peu de temps CPU supplémentaire,
    - Il y a une marge d'erreur infime mais existante, deux fichiers différents pouvant générer un même hash (ceci dit, cela est extrèmement rare !).

Discussions similaires

  1. Détection doublons particulière
    Par Domimart dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/09/2009, 18h47
  2. Détection d'un fichier
    Par cricri77200 dans le forum Langage
    Réponses: 1
    Dernier message: 03/06/2009, 15h21
  3. Détection doublons base de donnée access
    Par cyrux dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/03/2009, 08h55
  4. Supprimer doublons dans fichier
    Par roman67 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 06/11/2008, 14h33
  5. Détection Doublon à l'enregistrement
    Par francois78 dans le forum Access
    Réponses: 5
    Dernier message: 22/03/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo