狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SharpCompress:跨平臺(tái)的 C# 壓縮與解壓庫(kù)

admin
2025年6月3日 10:45 本文熱度 699

在開(kāi)發(fā)中,處理壓縮文件是一個(gè)常見(jiàn)的需求。無(wú)論是從互聯(lián)網(wǎng)下載資源、備份數(shù)據(jù),還是打包應(yīng)用程序的輸出,壓縮和解壓功能都扮演著重要的角色。

C#壓縮解壓文件處理方案?

1. 簡(jiǎn)介

SharpCompress 是一個(gè)由 Adam Hathcock 維護(hù)的開(kāi)源 C# 庫(kù),提供對(duì)多種壓縮格式的讀寫支持。它完全使用 C# 編寫,兼容現(xiàn)代 .NET 平臺(tái)(包括 .NET Standard、.NET Core 和 .NET 5+),適用于 Windows、Linux 和 macOS 系統(tǒng)。

項(xiàng)目地址:https://github.com/adamhathcock/sharpcompress?

與其他壓縮庫(kù)相比,SharpCompress 的最大特點(diǎn)是其 廣泛支持多種壓縮格式,并且可以輕松集成到項(xiàng)目中。此外,它還支持流式處理,適用于大文件或網(wǎng)絡(luò)傳輸場(chǎng)景。


2. 支持的壓縮格式

SharpCompress 支持以下常見(jiàn)的壓縮與歸檔格式:

  • ZIP
  • RAR(含 RAR5)
  • 7Zip
  • TAR
  • GZip
  • BZip2
  • LZip
  • XZ

支持以下格式的 寫入

  • ZIP
  • TAR
  • GZip
  • BZip2
  • LZip

對(duì)于需要長(zhǎng)期歸檔和流式處理的場(chǎng)景,推薦使用 GZip、BZip2 或 LZip,因其格式簡(jiǎn)潔且易于流式解析。


3. 安裝與引入

通過(guò) NuGet 包管理器安裝

Install-Package SharpCompress

引用命名空間即可開(kāi)始使用

using SharpCompress.Archives;
using SharpCompress.Common;
using System.IO;

4. 基本用法

4.1 解壓 ZIP 文件

一個(gè)簡(jiǎn)單的 ZIP 文件解壓示例

using (var archive = ArchiveFactory.Open("example.zip"))
{
    foreach (var entry in archive.Entries)
    {
        if (!entry.IsDirectory)
        {
            entry.WriteToDirectory("output_directory"new ExtractionOptions()
            {
                ExtractFullPath = true,
                Overwrite = true
            });
        }
    }
}

4.2 創(chuàng)建 ZIP 文件

創(chuàng)建 ZIP 文件

using (var archive = ArchiveFactory.CreateWritableArchive(ArchiveType.Zip, File.Create("new_archive.zip")))
{
    archive.AddAllFromDirectory("source_directory");
}

4.3 處理 RAR 文件(僅限讀取)

由于 RAR 格式是專有格式,SharpCompress 只支持讀取 RAR 文件:

using (var archive = ArchiveFactory.Open("example.rar"))
{
    foreach (var entry in archive.Entries)
    {
        if (!entry.IsDirectory)
        {
            entry.WriteToDirectory("output_directory"new ExtractionOptions()
            {
                ExtractFullPath = true,
                Overwrite = true
            });
        }
    }
}

5. 高級(jí)特性

5.1 流式處理

SharpCompress 支持從 Stream 中讀取和寫入壓縮文件,這使得它可以用于網(wǎng)絡(luò)請(qǐng)求、內(nèi)存操作等場(chǎng)景

using (var stream = new FileStream("example.zip", FileMode.Open))
using (var archive = ArchiveFactory.Open(stream))
{
    // 處理解壓邏輯
}

5.2 加密支持

某些壓縮格式(如 ZIP)支持加密壓縮包。SharpCompress 允許你在打開(kāi)加密壓縮包時(shí)提供密碼

using (var archive = ArchiveFactory.Open("encrypted.zip"new ReaderOptions { Password = "password" }))
{
    // 解壓邏輯
}

5.3 自定義提取選項(xiàng)

通過(guò) ExtractionOptions,你可以控制是否覆蓋現(xiàn)有文件、是否提取完整路徑等。


該文章在 2025/6/3 15:22:59 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved