C#解压和压缩文件

两种方式,

1. .net4.5之后自带的  

ZipFile.CreateFromDirectory(待压缩文件夹,要保存的zip文件路径) 和 ZipFile.ExtractToDirectory(zip压缩文件,解压路径)

2. 引入类库 SharpZipLib

 

========================

1. 用自带的 解压文件(如果解压目录有重名文件会报异常)

try
    {
        string zipPath = (Directory.GetCurrentDirectory() + "\\" + "my_zip");
        Console.WriteLine("Zip's path: " + zipPath);
        //Declare a temporary path to unzip your files
        string tempPath = Path.Combine(Directory.GetCurrentDirectory(), "tempUnzip");
        string extractPath = Directory.GetCurrentDirectory();
        ZipFile.ExtractToDirectory(zipPath, tempPath);

        //build an array of the unzipped files
        string[] files = Directory.GetFiles(tempPath);

        foreach (string file in files)
        {
            FileInfo f = new FileInfo(file);
            //Check if the file exists already, if so delete it and then move the new file to the extract folder
            if (File.Exists(Path.Combine(extractPath,f.Name)))
            {
                File.Delete(Path.Combine(extractPath, f.Name));
                File.Move(f.FullName, Path.Combine(extractPath, f.Name));
            }
            else
            {
                File.Move(f.FullName, Path.Combine(extractPath, f.Name));
            }
        }
        //Delete the temporary directory.
        Directory.Delete(tempPath);
        return (0); // 0 all fine 
    }
    catch (Exception)
    {
        return (1); // 1 = extract error
    }

2.类库

首先需要在项目里引用SharpZipLib.dll。然后修改其中的关于压缩和解压缩的类。(看下面例子)

 

 

转: 

https://jingyan.baidu.com/article/3f16e00313a8a72591c10313.html

https://blog.csdn.net/e295166319/article/details/52824235

https://www.cnblogs.com/greatverve/archive/2011/12/27/csharp-zip.html

posted @ 2021-07-02 21:55  与f  阅读(1106)  评论(0编辑  收藏  举报