E3.Utility/UtilityZIP.cs

(开头部分) 7KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
using System.Net;
using System.Reflection;
using E3.CSharpZipLib;
using E3.CSharpZipLib.Zip;

namespace E3.Utility
{
    public partial class UtilityZip
    {
        //解压zip文件 到 相应路径
        public static bool UnZipFile(string zipFilePath, string localPath, out string message)
        {
            bool result = true;
            message = string.Empty;
            try
            {
                if (!File.Exists(zipFilePath))
                {
                    message = "找不到压缩文件的路径:" + zipFilePath;
                    return false;
                }

                using (ZipInputStream s = new ZipInputStream(File.OpenRead(zipFilePath)))
                {

                    ZipEntry theEntry;
                    while ((theEntry = s.GetNextEntry()) != null)
                    {
                        //string directoryName = Path.GetDirectoryName(@"d:\asdf\");
                        string fileName = Path.GetFileName(theEntry.Name);

                        // create directory
                        if (!Directory.Exists(localPath))
                        {
                            Directory.CreateDirectory(localPath);
                        }

                        string subdir = theEntry.Name.LastIndexOf(fileName) == 0
                                            ? ""
                                            : theEntry.Name.Substring(0, theEntry.Name.LastIndexOf(fileName) - 1);

                        string filedir = localPath + @"\" +
                                         subdir;
                        if (!Directory.Exists(filedir))
                        {
                            Directory.CreateDirectory(filedir);
                        }

                        if (fileName != String.Empty)
                        {
                            using (FileStream streamWriter = File.Create(localPath + @"\" + theEntry.Name))
                            {
                                int size = 2048;
                                byte[] data = new byte[2048];
后面还有 140 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。