Comment vérifier rapidement si un fichier zip est corrompu?
Quelqu'un a une idée de comment, de façon pragmatique, de vérifier rapidement si un fichier zip est corrompu en fonction de la taille du fichier? Idéalement, la meilleure façon de vérifier si un fichier zip est corrompu, est de faire une vérification CRC, mais cela peut prendre du temps surtout si il y a beaucoup de gros fichiers zip. Je serais heureux juste pour être en mesure de faire un rapide taille du fichier d'en-tête ou chèque.
Merci d'avance.
Toute langue de son choix?
Je suis actuellement à l'aide de c# pour ma tâche, mais la langue n'a pas d'importance.
Je suis actuellement à l'aide de c# pour ma tâche, mais la langue n'a pas d'importance.
OriginalL'auteur thuantta | 2010-10-17
Vous devez vous connecter pour publier un commentaire.
La Section 4.3.7 de cette page dit que la taille compressée est de 4 octets à partir de l'octet 18. Vous pouvez essayer de la lecture et de la comparer à la taille du fichier.
Cependant, je pense que c'est assez inutile pour vérifier si le fichier zip est corrompu, pour deux raisons:
Donc, je suggère que le calcul de la CRC pour une méthode garantie du contrôle de la corruption.
Ce que @SimonJ dit est vrai, mais aussi la taille compressée à partir de l'octet 18 ans, est la taille compressée d'une seule entrée dans le fichier zip. Il n'est pas compressé taille du fichier zip.
Aussi, ce qui peut être évident, mais une valeur indiquant: "le calcul de la CRC travaille" à vérifier le fichier, seulement si le CRC est connu.
OriginalL'auteur imgx64
DotNetZip, un libre et open source de la bibliothèque pour la manipulation de fichiers zip .NET languages, prend en charge un CheckZip() méthode qui fait ce que vous voulez. Il y a différents niveaux d'assurance disponibles à votre choix. Le niveau de base vérifie juste la cohérence des métadonnées. Le niveau le plus complet effectue une extraction du fichier zip dans un bitbucket pour vérifier que les données compressées n'est pas endommagé.
OriginalL'auteur Cheeso
Utilisation
zip -T
pour tester le fichier corrompu ou non. Exemple de fichier corrompu ressembler à ceci:OriginalL'auteur Azi
De vérifier la totalité de l'archive "pour sûr" vous avez besoin d'extraire toutes les données (depuis le CRC, stockées dans les archives, est calculée sur des données non compressées), et ce, même après que vous ne pouvez pas être sûr à 100% qu'il n'est pas endommagé (parce que le ccr est bon, mais pas de garantie que les données n'a pas été modifiée).
OriginalL'auteur Nickolay Olshevsky