代码:
#region 解压
/// <summary>
/// 解压
/// </summary>
public void UnZip(string zipPath, string targetPath)
{
using (FileStream fsZip = new FileStream(zipPath, FileMode.Open, FileAccess.Read))
{
using (ZipInputStream zipInputStream = new ZipInputStream(fsZip))
{
ZipEntry zipEntry;
while ((zipEntry = zipInputStream.GetNextEntry()) != null)
{
if (zipEntry.IsDirectory)
{
Directory.CreateDirectory(Path.Combine(targetPath, zipEntry.Name));
}
else
{
if (zipEntry.Name != String.Empty)
{
//解压文件到指定的目录
using (FileStream fsFile = new FileStream(Path.Combine(targetPath, zipEntry.Name), FileMode.Create, FileAccess.Write))
{
int size;
byte[] data = new byte[1024 * 1024];
while ((size = zipInputStream.Read(data, 0, data.Length)) > 0)
{
fsFile.Write(data, 0, size);
}
}
}
}
}//end while
}
}
}
#endregion
View Code