91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SharpCompress:跨平臺的 C# 壓縮與解壓庫

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

在開發中,處理壓縮文件是一個常見的需求。無論是從互聯網下載資源、備份數據,還是打包應用程序的輸出,壓縮和解壓功能都扮演著重要的角色。

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

1. 簡介

SharpCompress 是一個由 Adam Hathcock 維護的開源 C# 庫,提供對多種壓縮格式的讀寫支持。它完全使用 C# 編寫,兼容現代 .NET 平臺(包括 .NET Standard、.NET Core 和 .NET 5+),適用于 Windows、Linux 和 macOS 系統。

項目地址:https://github.com/adamhathcock/sharpcompress?

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


2. 支持的壓縮格式

SharpCompress 支持以下常見的壓縮與歸檔格式:

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

支持以下格式的 寫入

  • ZIP
  • TAR
  • GZip
  • BZip2
  • LZip

對于需要長期歸檔和流式處理的場景,推薦使用 GZipBZip2 或 LZip,因其格式簡潔且易于流式解析。


3. 安裝與引入

通過 NuGet 包管理器安裝

Install-Package SharpCompress

引用命名空間即可開始使用

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

4. 基本用法

4.1 解壓 ZIP 文件

一個簡單的 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 創建 ZIP 文件

創建 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. 高級特性

5.1 流式處理

SharpCompress 支持從 Stream 中讀取和寫入壓縮文件,這使得它可以用于網絡請求、內存操作等場景

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

5.2 加密支持

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

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

5.3 自定義提取選項

通過 ExtractionOptions,你可以控制是否覆蓋現有文件、是否提取完整路徑等。


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

主站蜘蛛池模板: 97免费在线 | 国产精品偷伦视频免 | 乱子伦在线观看 | 国产精品欧美亚洲区 | 国产影视三级乱伦 | 国产在线拍精品热 | 国产目拍亚洲精品 | 区浪潮在线 | 国产精品在线系列 | 福利在线导航网 | 国产口爆| 午夜一区| 精品一区二 | 精品福利在线导航 | 国产男女插插一级 | 日本制服丝袜在线 | 91精品大全 | 成人xx视频 | 国产欧美日韩综合 | 成人色91 | 日本加勒比国产在 | 日韩免费在线电影 | 精品亚洲中文免费 | 成人专区成人专区 | 欧美日韩精品一区二 | 韩剧tv| 91视频首页 | 国产亚洲老| 无码精品午夜福利电影 | 91导航福利在线 | 国产妇女性爽视频 | 精品免费观看 | 国产精品久热 | 国产91免费精品电 | 国产91啦 | 欧美在线综合 | 日韩午夜激情 | 国产91特黄 | 日本不卡视频 | 欧洲一区二区三区 | 日韩视频www永 |