C#压缩解压文件夹

C#对文件夹进行压缩和解压,使用System.IO.Compression和System.IO.Compression.FileSystem进行处理。

包括ZipFile 类、ZipArchive 类、ZipArchiveEntry 类,通过这几个类的有机结合,可以处理各种问题。

一、把一个文件夹压缩为一个文件

ZipFile.CreateFromDirectory(sourceDirectory, destinationFile);

        sourceDirectory:源文件夹

destinationFile压缩后的文件

二、把一个压缩文件进行解压

 ZipFile.ExtractToDirectory(sourceFile, destinationDirectory);

sourceFile源文件,准备解压的文件

destinationDirectory目标文件夹

三、通过ZipArchiveEntry,解压某一个文件

string zipPath = @"c:\example\start.zip"; //准备解压的压缩文件
        string extractPath = @"c:\example\extract";//目标文件夹
string fileName="readme.txt";//目标文件夹
using (ZipArchive archive = ZipFile.OpenRead(sourceFile))
            {
                foreach (ZipArchiveEntry entry in archive.Entries)
                {
                    if (entry.FullName=fileName)
                    {
                        entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
                    }
                }
            } 

四、通过ZipArchiveEntry,解压某一个文件为流

string zipPath = @"c:\example\start.zip";
        string extractPath = @"c:\example\extract";
string fileName="readme.txt";
using (ZipArchive archive = ZipFile.OpenRead(sourceFile))
            {
                foreach (ZipArchiveEntry entry in archive.Entries)
                {
   if (entry.FullName.Equals(fileName))
                    {
                        Stream sm = entry.Open();

                        returm sm;
                    }
                }
            } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值