using System.IO; using System.Windows.Forms; using ICSharpCode.SharpZipLib.Zip; using ICSharpCode.SharpZipLib.Checksums; public void unZip(string strSouceFile, string strDestFile) { if (!Directory.Exists(strDestFile)) Directory.CreateDirectory(strDestFile); using (ZipInputStream zip = new ZipInputStream(File.OpenRead(strSouceFile))) { ZipEntry theEntry; string fileName; FileStream streamWriter; while ((theEntry = zip.GetNextEntry()) != null) { fileName = Path.GetFileName(theEntry.Name); if (fileName != String.Empty) { streamWriter = new FileStream(strDestFile + fileName, FileMode.Create, FileAccess.Write, FileShare.Read | FileShare.Write); int size = 2048; byte[] data = new byte[2048]; while (true) { size = zip.Read(data, 0, data.Length); if (size > 0) { streamWriter.Write(data, 0, size); } else { break; } } streamWriter.Close(); } } MessageBox.Show("解压文件成功!须要引用的dll,下载下面页面的dll","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } } public void ZipFile(string strSouceFile, string strDestFile) { using (ZipOutputStream stream = new ZipOutputStream(File.Create(strDestFile))) { stream.SetLevel(5); byte[] buffer = new byte[0x1000]; ZipEntry entry = new ZipEntry(Path.GetFileName(strSouceFile)); entry.DateTime = DateTime.Now; stream.PutNextEntry(entry); using (FileStream stream2 = File.OpenRead(strSouceFile)) { int num; do { num = stream2.Read(buffer, 0, buffer.Length); stream.Write(buffer, 0, num); } while (num > 0); MessageBox.Show("压缩文件成功!
"); } stream.Finish(); stream.Close(); } }
http://download.csdn.net/detail/sky_cat/7236675