8
votes

.NET Bibliothèque pour les fichiers zip de volume divisé?

J'ai besoin de créer des fichiers zip couverts (multi-volumes) à l'aide de .NET, mais je n'ai pas pu trouver une bibliothèque qui me permet de le faire.

Zip couvé est un fichier zip compressé divisé parmi un certain nombre de fichiers, qui ont généralement des extensions telles que .Z00, .z01, etc.

La bibliothèque devrait être open-source ou libre, car je vais l'utiliser pour un projet open source.

(c'est un duplicata to Cette question, mais il n'y a pas de réponses là-bas et je ne vais pas pour ASP spécifique de toute façon)


2 commentaires

Des années plus tard, mais juste pour clarifier cette question concerne les archives divisées. Les archives zippées couvées sont quelque chose d'autre entièrement - des archives zips simples divisées sur plusieurs volumes logiques (généralement conçus autour des disquettes). La différence est qu'une archive zippée fractionnée utilise la nommée ".z00 - .z (N-1)".


Selon notre sur le sujet guidance, " Certaines questions sont toujours hors sujet, même s'ils entrent en une des catégories énumérées ci-dessus: ... des questions qui nous demandent de vous demander Recommander ou trouver un livre, un outil, une bibliothèque de logiciels, un tutoriel ou une autre ressource hors site sont hors tension ... "


3 Réponses :


1
votes

Jetez un coup d'œil à la bibliothèque Sevenzipshaparpe . Il soutient des archives multivolumes.


0 commentaires

17
votes

DotNetZip vous permet de le faire. De leur documentation:

La bibliothèque prend en charge les mots de passe Zip, Unicode, ZIP64, Stream Entrée et Sortie, Cryptage AES, multiples niveaux de compression, archives à extraction automatique, Archives dissimulées, et plus.


3 commentaires

DotNetZip a un nombre maximal de fichier couvé = 99.Si vous souhaitez créer des fichiers de 15 Mo (à envoyer à l'e-mail) et que les éléments zippés sont> ~ 1,5 Go vous n'avez pas de chance.


Il est vrai que DotNetZip possède un nombre maximal de fichiers (segment) de 99 pour les archives divisées, bien que cela semble être entièrement arbitraire. La première révision que je puisse trouver (Wikipedia) qui spécifie une limite est de 6,30 (2006), qui correspond à 6.3.4 (2014) dans une limite de fichier d'environ 4 milliards ( goo.gl/vh4sp5 - Section 8.5.1). Cependant, étant donné que la bibliothèque est open-source, vous pouvez à tout moins créer une modification personnalisée de celle-ci. Avec une taille de fichier minimale de 64K (par spécification zip), vous pourriez avoir environ 256 To dans une archive zip divisée sans passer la limite de fichier.


Une demande de traction a été fusionnée en 2014 qui a supprimé la limite de fichier 99. Je peux confirmer qu'il n'y a plus de limite de fichier



27
votes

Exemple DotNetZip: xxx

si segmentsCréé revient comme 5, alors vous avez les fichiers suivants, chacun d'au plus 100 ko.


1 commentaires

Nice code mais ne comprend pas cette ligne zip.maxout députétégmentsize = 100 * 1024 Comment ça veut dire 100 ko? Je suppose que vous essayez de dire 1024 et 1 kb et 1kb * 100 signifie 100 kb ..... suis-je raison?