Estoy simplemente buscando una forma de comprimir varios archivos en un archivo GZip con la clase GZipStream. ¿Alguien tiene una idea de cómo hacer eso?Cómo comprimir varios archivos en un archivo GZip con la clase GZipStream?
Respuesta
En general, el formato gzip no es compatible con varios archivos. Tradicionalmente, uno agrupa múltiples archivos usando tar antes de comprimir el resultado; probablemente quieras hacer algo similar.
El formato de archivo gzip es un formato de archivo, contiene un encabezado y un directorio que enumera todos los archivos comprimidos en el archivo. GZipStream simplemente comprime los datos escritos en la transmisión. El equivalente a un archivo en el archivo, no es capaz de generar el formato de archivo.
Una solución popular es SharpZipLib, hay muchas más.
Tema antiguo, pero puede ayudar a los lectores en el futuro.
He encontrado esta solución (here) que propone comprimir/descomprimir un directorio utilizando la clase nativa GZipStream.
El ejemplo crea una lista de archivos usando Directory.GetFiles, pero es fácil cambiar este punto y adaptarlo a sus necesidades.
Nota: el archivo comprimido no es un archivo gzip que puede abrirse con un software Thrid, pero es una buena solución para la gestión interna de la aplicación (personalmente la uso para transferir mis archivos de aplicación a través de la red).
- 1. archivo gzip con varios archivos dentro de
- 2. Cómo comprimir varios archivos en un solo archivo con Delphi
- 3. ¿Cómo comprimir varios archivos en un zip con PowerShell?
- 4. clase GZipStream o DeflateStream?
- 5. comprimir múltiples archivos de forma individual con gzip
- 6. Comprimir archivos con javascript - archivo corrupto
- 7. Cómo comprimir varios archivos utilizando solo .net api en C#
- 8. GZipStream y DeflateStream producen archivos más grandes
- 9. C# HttpListener Response + GZipStream
- 10. Comprimir un directorio de archivos con PHP
- 11. ¿Cómo puedo comprimir un directorio con .NET?
- 12. ¿Cómo puedo generar archivos y luego comprimir/comprimir con Heroku?
- 13. GZipStream no lee todo el archivo
- 14. Cómo [tar y] comprimir archivos marcados en Emacs
- 15. Cómo comprimir un HttpWebRequest POST
- 16. ¿Puedo comprimir solicitudes HTTP usando GZIP?
- 17. ¿Puede aumentar iostreams leer y comprimir archivos gzip sobre la marcha?
- 18. Cómo comprimir archivos de registro con NLog
- 19. Comprimir contenido con PHP ob_start() vs Apache Deflate/Gzip?
- 20. Una clase con varios archivos de implementación
- 21. Archivos comprimidos Hadoop gzip
- 22. ¿Cómo uso GZipStream con System.IO.MemoryStream?
- 23. Desempaquetar archivos grandes con gzip en PHP
- 24. GZipStream en datos grandes
- 25. ¿Cómo comprobar si un archivo está comprimido gzip?
- 26. GZIP un archivo en Python
- 27. ¿Mejor manera de comprimir archivos en Python (comprimir todo un directorio con un solo comando)?
- 28. ¿Comprimir múltiples archivos JavaScript con YUIcompressor?
- 29. Cómo comprimir archivos usando JavaScript
- 30. Implementación de clase en varios archivos