1. 产品
  2.   压缩
  3.   .NET
  4.   SharpCompress 
 
  

用于压缩文件格式的开源 .NET API

用于处理流行压缩文件格式的开源 .NET 库。

什么是 SharpCompress?

SharpCompress 是一个开源的纯 .NET 库,使软件开发人员能够使用流行的压缩文件格式,如 RAR、7ZAP、ZIP、TAR、GZIP、BZIP2 等。它提供了解压缩 7ZIP、ZIP/unzip、TAR/untar LZIP/unlzip、BZIP2/unbzip2 和 GZIP/ungzip 的能力,具有只进读和文件随机访问 API。它还实现了对 ZIP、TAR、BZIP2 和 GZIP 文件格式的写入支持。

SharpCompress 几个重要的功能,例如从一个目录中的所有文件创建一个 zip 存档到一个文件,从一个 RAR 文件中提取所有文件到一个目录,使用 ReaderFactory 自动检测存档类型并打开入口流,使用 ReaderFactory 自动检测存档类型和打开入口流等等

Previous Next

SharpCompress 入门

要安装 SharpCompress,您需要具有 .NET Framework 3.5 或更高版本。您可以从 GitHub 手动下载存储库。或者,您可以使用 NuGet。

这是命令

 Install-Package sharpcompress -Version number 

用于从 ZIP 文件压缩和提取文件的 .NET 库

SharpCompress 使 .NET 开发人员能够通过将文件夹的内容压缩到新的 ZIP 文件中来创建 ZIP 文件。 ZIP 文件格式是使用最广泛的压缩和归档文件格式之一。它有助于减少一个或多个文件的大小,您还可以将多个文件和文件夹归档到一个文件中。该 API 还使开发人员能够从 ZIP 文件中提取文件。您只需要指出要提取的文件,它将循环遍历存档中的每个文件以将其保存到目录

从 RAR 中提取所有文件 - C#

// Read RAR file
RarArchive rarArchive = RarArchive.Open("fileformat.rar");
// Extract all data
foreach (var entry in rarArchive.Entries.Where(entry => !entry.IsDirectory))
{
    entry.WriteToDirectory("\\filformat", new ExtractionOptions()
    {
    ExtractFullPath = true,
    Overwrite = true
    });
}
    

使用 .NET 将文件添加到现有 ZIP 文件

SharpCompress 库为用户提供了将文件添加到现有 ZIP 文件的功能。首先,您需要选择要附加到现有 ZIP 文件的文件。 SharpCompress 将首先将其保存到一个临时文件中,完成后可以将临时文件移动到永久位置。这样,当您将新文件添加到现有 ZIP 时,它就会被压缩。您可以使用三个简单的步骤将现有文件添加到 zip 存档

将文件添加到现有 ZIP 文件

  1. 使用 ZipArchive.Open() 方法打开现有的 ZIP 文件并将文件名作为参数传递
  2. 使用 AddAllFromDirectory() 方法在 ZIP 中添加文件并将目录路径作为附件传递
  3. 使用 SaveTo() 方法保存文件,并将输出路径作为第一个参数,将 CompressionType 作为第二个参数

将文件添加到现有 ZIP 存档 - C#

// open existing ZIP file
ZipArchive archive = ZipArchive.Open("test.zip");
// add samples files in it
archive.AddAllFromDirectory("\\sample");
// save file
archive.SaveTo("sample.zip", CompressionType.Deflate);
    
 中国人