通过C#原生的ZipFile、GZipStream进行文件夹和文件的压缩和解压处理.
using System.IO;
using System.IO.Compression;
namespace LinqXml
{
public class CompressionHelper
{
#region ------------------------------------------------------------------1、解压文件为一个文件或文件夹
/// <summary>
/// 解压文件为一个文件或文件夹
/// </summary>
/// <param name="sourceFile">源文件:准备解压的压缩文件</param>
/// <param name="destinationDirectory">目标目录:解压缩之后的文件存放位置</param>
public static void DeCompressToDirectory(string sourceFile, string destinationDirectory)
{
if (!File.Exists(sourceFile)) throw new FileNotFoundException();
ZipFile.ExtractToDirectory(sourceFile, destinationDirectory);
}
#endregion
#region ------------------------------------------------------------------2、压缩文件夹或目录为一个文件
/// <summary>
/// 压缩一个文件夹或目录为一个文件
/// </summary>
/// <param name="sourceDirectory">源文件:准备压缩的文件夹</param>
/// <param name="destinationFile">目标文件:压缩后保存的文件</param>
public static void CompressFromDirectory(string sourceDirectory, string destinationFile)
{
if (!Directory.Exists(sourceDirectory)) throw new DirectoryNotFoundException();
ZipFile.CreateFromDirectory(sourceDirectory, destinationFile);