System.IO.Compression命名空间包含如下的基本的文件和流压缩和解压缩服务的类型, 还可以使用这些类型来读取和修改压缩文件的内容,主要有以下类:
ZipFile ,ZipArchive , ZipArchiveEntry ,DeflateStream , GZipStream
1.使用 ZipFile 类创建和提取有一个 .zip 文件扩展名的压缩文件:必须引用System.IO.Compression.FileSystem 程序集。
using System; using System.IO; using System.IO.Compression; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string zipPath = @"c:examplestart.zip"; string extractPath = @"c:exampleextract"; using (ZipArchive archive = ZipFile.OpenRead(zipPath)) { foreach (ZipArchiveEntry entry in archive.Entries) { if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase)) { entry.ExtractToFile(Path.Combine(extractPath, entry.FullName)); } } } } } }
namespace ConsoleApplication { class Program { static void Main(string[] args) { using (FileStream zipToOpen = new FileStream(@"c:usersexampleuser elease.zip", FileMode.Open)) { using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)) { ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt"); using (StreamWriter writer = new StreamWriter(readmeEntry.Open())) { writer.WriteLine("Information about this package."); writer.WriteLine("========================"); } } } } } }
4.使用 GZipStream 和 DeflateStream 类压缩和解压缩数据。 它们使用相同的压缩算法。 写入文件扩展名为 .gz 的压缩GZipStream 对象可以通过使用许多常用工具,除了 GZipStream提供的方法之外,被解压