Je suis en train d'en programmant décompresser un fichier zippé.
J'ai essayé d'utiliser l' System.IO.Compression.GZipStream
classe .NET, mais quand mon application s'exécute (en fait une unité de test), j'ai cette exception:
Système.IO.InvalidDataException: Le nombre magique dans GZip-tête n'est pas correcte. Assurez-vous que vous êtes de passage dans un GZip ruisseau..
Je me rends compte maintenant qu'un .zip
le fichier n'est pas la même chose qu'un .gz
le fichier, et qu' GZip
n'est pas le même que Zip
.
Cependant, depuis que je suis en mesure d'extraire le fichier manuellement en double-cliquant sur le fichier compressé, puis en cliquant sur "Extraire tous les fichiers"bouton, je pense qu'il devrait y avoir un moyen de le faire dans le code.
Donc j'ai essayé d'utiliser Process.Start()
avec le chemin vers le fichier compressé à l'entrée. Cela provoque mon application pour ouvrir une Fenêtre affichant le contenu dans le fichier zippé. C'est tout beau, mais l'application sera installée sur un serveur avec personne autour de cliquer sur "Extraire tous les fichiers"bouton.
Alors, comment puis-je obtenir mon application pour extraire les fichiers dans les fichiers zippés?
Ou est-il un autre moyen de le faire? Je préfère le faire dans le code, sans avoir à télécharger de bibliothèques tierces ou d'applications; le département de la sécurité n'est pas trop de fantaisie à ce sujet...