إنشاء GZip في C#

GZip أرشيفات (.gz) تُستخدم لضغط ملف واحد أو أكثر باستخدام خوارزمية ضغط جنو zip. يتم استخدامه بشكل شائع لضغط الملفات في أنظمة تشغيل UNIX. في هذه المقالة ، ستتعلم كيفية ضغط الملفات باستخدام GZip (.gz) برمجيًا في C#. علاوة على ذلك ، ستغطي المقالة أيضًا كيفية فك ضغط أرشيفات GZip في C#.

C# GZip Compression and Decompression API - تنزيل مجاني

لضغط وفك ضغط الملفات باستخدام GZip ، سنستخدم Aspose.ZIP for .NET. إنها واجهة برمجة تطبيقات قوية تتيح لك العمل مع تنسيقات أرشيف شائعة بما في ذلك ZIP ، 7z ، GZip ، إلخ. يمكنك إما تنزيل واجهة برمجة التطبيقات أو تثبيتها باستخدام NuGet.

PM> Install-Package Aspose.Zip

ضغط الملفات باستخدام GZip في C#

فيما يلي خطوات ضغط الملفات باستخدام GZip في C#.

يوضح نموذج التعليمات البرمجية التالي كيفية ضغط الملفات إلى GZip في C#.

using (GzipArchive archive = new GzipArchive())
{
    // ضبط المصدر
    archive.SetSource("data.bin");
    
    // إنشاء أرشيف
    archive.Save("archive.gz");
}

فك ضغط أرشيف GZip في C#

فيما يلي خطوات فك ضغط أرشيف GZip في C# باستخدام Aspose.ZIP لـ .NET.

  • أنشئ كائنًا من فئة 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);
    }
}

C# استخراج GZip إلى الدفق

يمكنك أيضًا استخراج أرشيف GZip إلى كائن تدفق الذاكرة. فيما يلي خطوات إجراء هذه العملية.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج أرشيف 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 - احصل على ترخيص مجاني

يمكنك الحصول على ترخيص مؤقت مجاني من أجل استخدام واجهة برمجة التطبيقات دون قيود التقييم.

استنتاج

في هذه المقالة ، تعلمت كيفية ضغط الملفات أو فك ضغطها باستخدام GZip في C#. علاوة على ذلك ، لقد رأيت كيفية استخراج GZip للدفق برمجيًا باستخدام C# .NET. يمكنك استكشاف المزيد حول Aspose.ZIP لـ .NET باستخدام التوثيق. بالإضافة إلى ذلك ، يمكنك الاتصال بنا لمشاركة استفساراتك عبر المنتدى.

أنظر أيضا