using System; using System.Collections.Generic; using System.Linq; using System.Text; using ICSharpCode.SharpZipLib.Zip; using System.IO; namespace ConsoleApplication { class UnzipSample { public static void unzip(string fileName, string targetPath) { using (ZipInputStream s = new ZipInputStream(File.OpenRead(fileName))) { ZipEntry theEntry; while ((theEntry = s.GetNextEntry()) != null) { string directoryName = Path.GetDirectoryName(theEntry.Name); string zipFile = Path.GetFileName(theEntry.Name); if (directoryName.Length > 0) { Directory.CreateDirectory(string.Format(@"{0}\{1}", targetPath, directoryName)); } if (zipFile != string.Empty) { using (FileStream streamWriter = File.Create(string.Format(@"{0}\{1}\{2}", targetPath, directoryName, zipFile))) { int size = 2048; byte[] data = new byte[2048]; while ((size = s.Read(data, 0, data.Length)) > 0) { streamWriter.Write(data, 0, size); } } } } } } } }
2009/02/17
SharpZipLib sample
ICSharpCode.SharpZipLib : version 0.85.4.369