有些时候我们需要在代码中进行解压或压缩文件,这时候怎么做呢,下面介绍两个方法
.NET中自带的类解压缩zip文件
如果只压缩解压zip和gzip格式的文件,在NET Framework 4.5之后框架中,原生System.IO.Compression.FileSystem.dll程序集中新增了一个名为ZipFile的类,让压缩和解压zip文件变得更简单,ZipFile的示例如下:
using System.IO.Compression;
ZipFile.ExtractToDirectory($"D:\Test.zip", $"D:\123");//解压
ZipFile.CreateFromDirectory(@"D:\Test", @"D:\Test\Test.zip"); //压缩
SharpCompress框架
支持:rar 7zip, zip, tar, tzip和bzip2格式的压缩和解压,示例从rar格式文件读取并解压
using (Stream stream = File.OpenRead(@"D:\Test.rar"))
{
var reader = ReaderFactory.Open(stream);
while (reader.MoveToNextEntry())
{
if (!reader.Entry.IsDirectory)
{
Console.WriteLine(reader.Entry.FilePath);
reader.WriteEntryToDirectory(@"D:\Temp");
}
}
}