XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
UTF-8
using System.IO;
using System.IO.Compression;

namespace SpaceEngineersBlueprintEditor.Core.Utilities.Helpers;

public static class ZipHelper
{
    public static void ExtraZipFile(string zipPath, string targetPath)
    {
        using var zipArchive = ZipFile.OpenRead(zipPath);
        ExtraZip(zipArchive, targetPath);
    }

    public static void ExtraZipStream(Stream stream, string targetPath)
    {
        using var zipArchive = new ZipArchive(stream);
        ExtraZip(zipArchive, targetPath);
    }

    public static void ExtraZip(ZipArchive zipArchive, string targetPath)
    {
        foreach (var entry in zipArchive.Entries)
        {
            var filePath = Path.Combine(targetPath, entry.FullName);
            if (string.IsNullOrEmpty(entry.Name))
                Directory.CreateDirectory(filePath);
            else
                entry.ExtractToFile(filePath, true);
        }
    }
}