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

主站蜘蛛池模板: 国产盗摄xxxx视 | 91国产爽爽黄在 | 国产高清乱 | 日韩午夜影视 | 国产不卡在线看 | 日韩一二区| 欧美日韩三区 | 91视频导航 | 欧美日韩一级无毛 | 国产永久 | 国产最新美 | 强视频在线观看 | 国产在线综合网站 | 国产精品一区绿帽 | 三级中文| 国产尤物专区 | 国产精品000 | 国产包皮精品 | 日韩高清成 | 欧美性色高清生活片 | 国产免费a | 成人影片网址 | 区免费97 | 欧洲视频在线观看 | 飘雪影院手机免 | 九九九成人| 福利微拍三区 | 欧美一区二区日韩 | 欧美三级短视频 | 国产一区视频观看 | 国产传媒在线 | 国语对白精品视 | 国产精品丝袜黑 | 欧美日韩不卡高 | 97色色五月天 | 青岛猎头公司 | 97噜色在线| 韩国精品无| 午夜免费福利不 | 日本免费一区二 | 日本成人观看 |