Existe-t-il de toute façon dans .Net (C #) pour extraire des données d'un fichier zip sans décompresser le fichier complet?
Simplement, je veux peut-être extraire des données (fichier) à partir du début d'un fichier zip, cela dépend évidemment si l'algorithme de compression compresse le fichier dans un ordre déterministe.
c#
compression
zip
data-compression
AwkwardCoder
la source
la source
Réponses:
DotNetZip est votre ami ici.
Aussi facile que:
(vous pouvez également extraire vers un fichier ou d'autres destinations).
La lecture de la table des matières du fichier zip est aussi simple que:
Édité à noter: DotNetZip vivait à Codeplex. Codeplex a été arrêté. L'ancienne archive est toujours disponible chez Codeplex . Il semble que le code a migré vers Github:
la source
Avec .Net Framework 4.5 (en utilisant ZipArchive ):
Trouvez "myfile" dans zipfile et extrayez-le.
la source
System.IO.Compression.dll
etSystem.IO.Compression.FileSystem.dll
Quelque chose comme ça va lister et extraire les fichiers un par un, si vous souhaitez utiliser SharpZipLib:
Basé sur cet exemple: contenu dans un fichier zip
la source
Voici comment un fichier texte UTF8 peut être lu à partir d'une archive zip dans une variable de chaîne (.NET Framework 4.5 et plus):
la source
Les fichiers Zip ont une table des matières. Chaque utilitaire zip doit avoir la capacité d'interroger uniquement la table des matières. Ou vous pouvez utiliser un programme de ligne de commande comme 7zip -t pour imprimer la table des matières et la rediriger vers un fichier texte.
la source
Dans ce cas, vous devrez analyser les entrées d'en-tête locales zip. Chaque fichier, stocké dans un fichier zip, a une entrée d'en-tête de fichier local qui (normalement) contient suffisamment d'informations pour la décompression.En règle générale, vous pouvez effectuer une analyse simple de ces entrées dans le flux, sélectionner le fichier nécessaire, copier l'en-tête + les données du fichier compressé vers d'autres fichier, et appelez unzip sur cette partie (si vous ne voulez pas gérer tout le code de décompression Zip ou la bibliothèque).
la source