CompressHelper.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using System.IO;
  3. using System.IO.Compression;
  4. namespace Vinno.FIS.Sonopost.Helpers
  5. {
  6. public class CompressHelper
  7. {
  8. /// <summary>
  9. /// 压缩文件
  10. /// </summary>
  11. /// <param name="sourceFolderPath">Source folder path</param>
  12. /// <param name="saveFilePath">sava file path</param>
  13. public static void CompressFolder(string sourceFolderPath, string saveFilePath)
  14. {
  15. FileHelper.DeleteFile(saveFilePath);
  16. var directoryPath = Path.GetDirectoryName(saveFilePath);
  17. DirectoryHelper.CreateDirectory(directoryPath);
  18. ZipFile.CreateFromDirectory(sourceFolderPath, saveFilePath);
  19. }
  20. /// <summary>
  21. /// 解压缩文件
  22. /// </summary>
  23. /// <param name="sourcePath">decompress source path.</param>
  24. /// <param name="destinionPath">destinion path</param>
  25. public static void DeCompressAll(string sourcePath, string destinionPath)
  26. {
  27. if (!File.Exists(sourcePath))
  28. {
  29. throw new ArgumentException($"Can't find decompress source path {sourcePath}");
  30. }
  31. DirectoryHelper.DeleteDirectory(destinionPath);
  32. ZipFile.ExtractToDirectory(sourcePath, destinionPath);
  33. }
  34. }
  35. }