ایجاد GZip در سی شارپ

آرشیوهای GZip (.gz) برای فشرده‌سازی یک یا چند فایل با استفاده از الگوریتم فشرده‌سازی زیپ گنو استفاده می‌شوند. معمولاً برای فشرده سازی فایل در سیستم عامل های یونیکس استفاده می شود. در این مقاله، نحوه فشرده سازی فایل ها با استفاده از GZip (.gz) را به صورت برنامه نویسی در C# خواهید آموخت. علاوه بر این، این مقاله همچنین نحوه فشرده سازی آرشیوهای GZip در سی شارپ را پوشش می دهد.

C# GZip Compression and Decompression API - دانلود رایگان

برای فشرده‌سازی و از حالت فشرده‌سازی فایل‌ها با استفاده از GZip، از Aspose.ZIP برای NET استفاده می‌کنیم. این یک API قدرتمند است که به شما امکان می دهد با فرمت های آرشیو محبوب از جمله ZIP، 7z، GZip و غیره کار کنید. می توانید API را دانلود یا با استفاده از [NuGet] نصب کنید. 8.

PM> Install-Package Aspose.Zip

فشرده سازی فایل ها با استفاده از GZip در سی شارپ

در زیر مراحل فشرده سازی فایل ها با استفاده از GZip در سی شارپ آمده است.

نمونه کد زیر نحوه فشرده سازی فایل ها به GZip در سی شارپ را نشان می دهد.

using (GzipArchive archive = new GzipArchive())
{
    // منبع تنظیم
    archive.SetSource("data.bin");
    
    // ایجاد آرشیو
    archive.Save("archive.gz");
}

از حالت فشرده خارج کردن آرشیو GZip در سی شارپ

مراحل زیر برای از حالت فشرده خارج کردن آرشیو GZip در سی شارپ با استفاده از Aspose.ZIP برای دات نت آمده است.

  • یک شی از کلاس GzipArchive ایجاد کنید و آن را با مسیر بایگانی GZip مقداردهی کنید.
  • با استفاده از روش File.Create(String) یک فایل برای محتوای استخراج شده ایجاد کنید.
  • GZip را برای استخراج با استفاده از روش GZipArchive.Open() باز کنید.
  • محتوای استخراج شده را بخوانید و در فایل بنویسید.

نمونه کد زیر نحوه فشرده سازی بایگانی GZip را با استفاده از C# نشان می دهد.

// بایگانی GZip را بارگیری کنید
using (var archive = new GzipArchive("archive.gz"))
{
    // یک فایل ایجاد کنید
    using (var extracted = File.Create("data.bin"))
    {
        // باز کردن آرشیو
        var unpacked = archive.Open();
        byte[] b = new byte[8192];
        int bytesRead;
        
        // نوشتن در فایل
        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

سی شارپ یک GZip را در استریم استخراج کنید

همچنین می توانید یک بایگانی GZip را در یک شی جریان حافظه استخراج کنید. مراحل زیر برای انجام این عملیات آورده شده است.

  • یک شیء MemoryStream جدید ایجاد کنید.
  • یک شی از کلاس GzipArchive ایجاد کنید و آن را با مسیر بایگانی GZip مقداردهی کنید.
  • GZip را استخراج کرده و با استفاده از روش GZipArchive.Open().CopyTo(MemoryStream) در جریان حافظه کپی کنید.

نمونه کد زیر نحوه استخراج بایگانی GZip در جریان حافظه با استفاده از C# را نشان می دهد.

// یک جریان حافظه ایجاد کنید
var ms = new MemoryStream();

// بایگانی GZip را بارگیری کنید
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
    // استخراج و در جریان حافظه کپی کنید
    archive.Open().CopyTo(ms);
    Console.WriteLine(archive.Name);
}

C# GZip Compression and Decompression API - یک مجوز رایگان دریافت کنید

برای استفاده از API بدون محدودیت ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله با نحوه فشرده سازی یا از حالت فشرده خارج کردن فایل ها با استفاده از GZip در سی شارپ آشنا شدید. علاوه بر این، نحوه استخراج یک GZip برای پخش برنامه‌ای با استفاده از C#.NET را مشاهده کرده‌اید. با استفاده از documentation می‌توانید درباره Aspose.ZIP برای دات‌نت بیشتر کاوش کنید. علاوه بر این، می توانید با ما تماس بگیرید تا سوالات خود را از طریق تالار گفتمان به اشتراک بگذارید.

همچنین ببینید