Sé que las bibliotecas DotNetZip o SharpZipLib suelen ser recomendadas para crear archivos ZIP en un idioma .net (C# en mi caso), pero no es imposible para usar System.IO.Packaging
para generar un archivo ZIP. Pensé que sería bueno intentar desarrollar una rutina en C# que pudiera hacerlo, sin la necesidad de descargar ninguna biblioteca externa. ¿Alguien tiene un buen ejemplo de un método o métodos que usará System.IO.Packaging
para generar un archivo ZIP?Usando System.IO.Packaging para generar un archivo ZIP
Respuesta
déjame google esto para usted -> System.IO.Packaging + + generar postal
primer eslabón http://weblogs.asp.net/jongalloway//creating-zip-archives-in-net-without-an-external-library-like-sharpziplib
using System;
using System.IO;
using System.IO.Packaging;
namespace ZipSample
{
class Program
{
static void Main(string[] args)
{
AddFileToZip("Output.zip", @"C:\Windows\Notepad.exe");
AddFileToZip("Output.zip", @"C:\Windows\System32\Calc.exe");
}
private static void AddFileToZip(string zipFilename, string fileToAdd, CompressionOption compression = CompressionOption.Normal)
{
using (Package zip = System.IO.Packaging.Package.Open(zipFilename, FileMode.OpenOrCreate))
{
string destFilename = ".\\" + Path.GetFileName(fileToAdd);
Uri uri = PackUriHelper.CreatePartUri(new Uri(destFilename, UriKind.Relative));
if (zip.PartExists(uri))
{
zip.DeletePart(uri);
}
PackagePart part = zip.CreatePart(uri, "", compression);
using (FileStream fileStream = new FileStream(fileToAdd, FileMode.Open, FileAccess.Read))
{
using (Stream dest = part.GetStream())
{
fileStream.CopyTo(dest);
}
}
}
}
}
}
Claro, pero esto no toma un camino, y agrega todos sus directorios y archivos en el ZIP; uno debe especificar los archivos individuales manualmente. – Jez
¿Realmente no puedes implementarlo tú mismo? : S – RamonBoza
Mirar - Listado de archivos en un directorio en C# http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=356 – RamonBoza
En .NET Framework 4.5 se pueden utilizar las nuevas clases en el System.IO.Compression
espacio de nombres
- 1. Creando zip en C# con System.IO.Packaging
- 2. OutOfMemoryException al crear un archivo ZIP de gran tamaño utilizando System.IO.Packaging
- 3. Creando archivo Zip usando SharpZipLib
- 4. System.IO.Packaging
- 5. ¿descargar archivo zip usando java?
- 6. Establecer nivel de compresión al generar un archivo ZIP usando RubyZip
- 7. Lea un archivo zip dentro del archivo zip
- 8. archivos zip usando CMake?
- 9. Generar un archivo ejecutable usando wix
- 10. Forma simple de descomprimir un archivo .zip usando zlib
- 11. ¿Cómo descargo un archivo zip en python usando urllib2?
- 12. ¿Cómo extraer archivos de un archivo zip usando Lua?
- 13. ¿Cómo puedo crear un archivo zip usando Objective C?
- 14. ¿Cómo encriptar un archivo .zip?
- 15. Generar archivo XML usando el archivo XSD
- 16. Extraer archivos de un archivo comprimido mediante programación mediante C# y System.IO.Packaging
- 17. Usando el error de rubyzip - no se puede cargar ese archivo - zip/zip
- 18. ¿Cómo puedo extraer un solo archivo de un archivo ZIP utilizando Perl's Archive :: Zip?
- 19. ¿Cómo puedo generar y enviar un archivo .zip a un usuario en C# ASP.NET?
- 20. Para comprimir un archivo grande en un ZIP con Java
- 21. Android: Cómo descomprimir un archivo zip encriptado
- 22. Cómo extraer un archivo ZIP en C#
- 23. usando rand para generar un número aleatorio
- 24. ¿Necesito generar un segundo archivo para ordenar un archivo?
- 25. Cómo descomprimir un archivo zip C#
- 26. Crear archivo zip para descarga instantánea
- 27. crear carpeta para archivo zip y extraerla
- 28. Cómo actualizar un archivo en un archivo zip
- 29. Obteniendo una excepción "No se puede leer como archivo zip" al intentar obtener una transmisión de un archivo Zip interno (un Zip dentro de otro Zip)
- 30. Leyendo un archivo zip dentro de un archivo jar
OK, después de leer un poco, parece que la incomodidad de usar System.IO.Packaging no es la única razón por la que las personas lo evitan como la peste; también genera un archivo tonto [Content_Types] .xml en cada archivo zip en genera, y existen serios interrogantes en cuanto a su compatibilidad con otros clientes de archivos zip. Entonces ... supongo que usaré DotNetZip. :-) – Jez