CHECK IDENTICAL FILES

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 20 août 2009 à 22:14
The Meteorologist Messages postés 232 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 3 novembre 2011 - 3 sept. 2009 à 21:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50467-check-identical-files

The Meteorologist Messages postés 232 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 3 novembre 2011 1
3 sept. 2009 à 21:39
Je te conseillerai plutôt de comparer les empreintes MD5 des fichiers. C'est l'algo de hachage le plus rapide, je pense que le temps de comparaison restera raisonnable. Surtout que tu peux d'abord créer une collection contenant la longueur des fichiers et ainsi contourner le calcul de l'empreinte si la longueur du fichier est unique dans la collection ;)
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
21 août 2009 à 16:19
ok merci

sur ce bonnes vacances... et oui c'est fin mon tour :)
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
21 août 2009 à 15:47
C'est sûr que la comparaison bits par bits va donner lieu à beaucoup d'accès disque et donc prendre du temps car il ne faut pas charger l'intégralité des fichiers en mémoire d'un coup.. mais elle s'impose uniquement si 2 fichiers ont la même taille et il faut sortir de la boucle de comparaison à la 1ère erreur.
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
21 août 2009 à 14:11
eldim, c'est pour ça que j'ai utilisé le MD5, tout est déjà intégré ;)
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
21 août 2009 à 13:51
ok merci

juste une question lutinore, la comparaison bit par bit ça doit être plus lent non ?
car faire une boucle de + pour chaque fichier va accroitre le temps de comparaison (déjà élevé)
alors que le System.IO est compilé de façon plus proche du system que n'importe quel programme c#

peut-être y a t il une fonction de comparaison ?
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
21 août 2009 à 12:04
Tu peux aussi t'inspirer de ma source :
http://www.vbfrance.com/codes/NET2-DUPLICATEKILLER-SUPPRESSION-DOUBLON-DANS-FICHIERS_34373.aspx
En VB certes, mais qui peut t'aider.

Note, pour la comparaison bit à bit, je ne la fait pas, mais j'utilise le hash MD5.
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
21 août 2009 à 07:49
ah ben non j'avoue que je n'y avais pas pensé

très bonne remarque
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
20 août 2009 à 22:14
Si je comprends bien tu compares quelques propriétés des fichiers mais tu ne fais pas de comparaison bits par bits !?
Rejoignez-nous