Create a Flat ZIP Archive in C#

مقدمة

يمكن أن يكون إدارة ملفات ZIP مثيرًا للاهتمام ، خاصة عندما تحتوي على أرشيفات مستوحاة.هذا الدليل سوف يمرك من خلال عملية تخفيف الهياكل Z IP عن طريق استخراج جميع الملفاتZIP الداخلية إلى ملف واحد باستخدام Aspose.Zip for .NET.

لماذا تخلق ZIP المسطح?

إن إنشاء أرشيف ZIP مسطح يقدم العديد من المزايا:

  • تسهيل إدارة ملفات ZIP: يقلل من تعقيد التعامل مع ملفات متعددة.
  • إزالة جميع محتويات ZIP المنسوجة إلى ملف واحد: يعزز الملفات من أجل سهولة الوصول إليها.
  • يقلل من الهياكل المجلدية المتقلبة: تسرب ترتيب الملفات.

جدول المحتوى

إعداد معالجة أرشيف ZIP في C#

لعملية معالجة فعالة أرشيفات ZIP المتوفرة، وسوف نستخدم [Aspose.ZIP for .NET](https://products.aspose.net/zip:

  • استخراج ZIP التلقائي وإعادة الضغط.
  • دعم العديد من تنسيقات الأرشيف: ZIP، TAR، GZip، وأكثر من ذلك.
  • معالجة فعالة من الأرشيفات الكبيرة.

التثبيت

يمكنك بسهولة تثبيت المكتبة من خلال NuGet:

PM> Install-Package Aspose.Zip

بدلاً من ذلك، يمكنك تنزيل DLL من تحميل صفحة Aspose.

خطوات لإنشاء أرشيف ZIP مسطح

تأخذ في الاعتبار الهيكل ZIP المضغوط التالي:

parent.zip
 ├ first.txt
 ├ inner.zip
 │ ├ file1.exe
 │ └ data.bin
 └ picture.gif

بعد التشويش ، سيتم توحيد جميع محتوى ZIP الداخلي في ZIP الأصلي:

flattened.zip
 ├ first.txt
 ├ picture.gif
 ├ file1.exe
 └ data.bin

رمز المثال

إليك كيف يمكنك تلقائي استخراج ملفات ZIP المطحونة:

// Load the parent ZIP file
using (Archive parentZip = new Archive("parent.zip"))
{
    List<ArchiveEntry> toDelete = new List<ArchiveEntry>();
    List<string> newEntryNames = new List<string>();
    List<MemoryStream> newStreams = new List<MemoryStream>();

    foreach (ArchiveEntry entry in parentZip.Entries)
    {
        if (entry.Name.EndsWith(".zip", StringComparison.OrdinalIgnoreCase))
        {
            toDelete.Add(entry);
            using (MemoryStream zipStream = new MemoryStream())
            {
                entry.Open().CopyTo(zipStream);
                zipStream.Position = 0;
                using (Archive innerZip = new Archive(zipStream))
                {
                    foreach (ArchiveEntry innerEntry in innerZip.Entries)
                    {
                        using (MemoryStream entryStream = new MemoryStream())
                        {
                            innerEntry.Open().CopyTo(entryStream);
                            newEntryNames.Add(innerEntry.Name);
                            newStreams.Add(entryStream);
                        }
                    }
                }
            }
        }
    }

    foreach (var entry in toDelete)
        parentZip.DeleteEntry(entry);

    for (int i = 0; i < newEntryNames.Count; i++)
        parentZip.CreateEntry(newEntryNames[i], newStreams[i]);

    parentZip.Save("flattened.zip");
}

هذه الطريقة فعالة أوتوماتيكية استخراج ملفات ZIP المنسوجة، وضمان تدفق عمل سلس مع وظائف C# أرشيف.

حفظ ملف ZIP المسطح

بمجرد استخراج محتوى ZIP المكسور، حفظ ملف ZIP المكسور باستخدام الخط التالي من الرمز:

parentZip.Save("flattened.zip");

هذا يضمن أن يكون لديك أرشيف ZIP الوحيد دون مجلدات ، مما يجعل إدارة الملفات أسهل بكثير من خلال C# Zip Compression التقنيات.

4.Batch معالجة متعددة ZIP أرشيف

إذا كنت بحاجة إلى الملصقات المتعددة ZIP الموجودة في مجلد معين، يمكنك استخدام ملصق الرمز التالي:

string[] files = Directory.GetFiles("zip_folder", "*.zip");
foreach (string file in files)
{
    using (Archive archive = new Archive(file))
    {
        archive.ExtractToDirectory("output_folder");
    }
}

هذه الطريقة تسمح لمعالجة الحجم التلقائي ZIP، وتوفير الوقت والجهد في حين التعامل الفعال مع C# Zip الملفات.

الحصول على ترخيص API المجاني

لتفكيك الميزات الكاملة لـ Aspose.ZIP، يمكنك طلب ترخيص مؤقت مجاني.

للحصول على وثيقة شاملة، يرجى زيارة Aspose.ZIP Guide ** .إذا كان لديك أي أسئلة، يشعر بالحرية للتواصل مع المجتمع على ** Forum Aspose.

الاستنتاج والموارد الإضافية

ملخص

في هذا الدليل، نغطي:

  • كيفية تصفية ملفات ZIP في C#
  • إزالة الأرشيفات ZIP المنسوجة
  • حفظ الأرشيف النهائي ZIP
  • معالجة العديد من ملفات ZIP في وقت واحد

مع Aspose.ZIP for .NET، يمكنك بفعالية استخراج وإدارة ملفات ZIP في تطبيقاتك!

موارد إضافية

بالنسبة للمطورين الذين يرغبون في تحسين فهمهم ، فكر في هذه المواضيع:

  • C# Create Zip Archive: استكشاف طرق مختلفة لإنشاء ملفات ZIP في تطبيقات C# الخاصة بك.
  • إنشاء ملف ZIP C# .NET Core: التركيز على .NET Core، تعلم أفضل الممارسات لخلق ملفات Zip.
  • C# استخراج الملفات من ZIP: إرشادات خطوة بخطوة حول استخراج ملفات محددة من أرشيفات Z IP.
  • C# Decompress ZIP: دليل مفصل لتخفيف ضغط ملفات زيب باستخدام C#.
  • كيفية زيب الملفات في .NET مع C#: مسار كامل على ملفات الزيبين باستخدام .NET وC#.
  • C# ZipArchive Extract to Directory: اكتشف كيفية استخدام ZiParchive لاستخراج الملفات بفعالية.
  • C# Zipping Files: استكشاف طرق لزيب الملفات في C# لتحسين الأداء والراحة.
  • .NET Core Create Zip File: نظرة مفصلة على إنشاء ملفات ZIP باستخدام .NET core و C#.
  • C# Zip: تعلم كيفية التعامل مع ملفات ZIP بفعالية في C#.
  • C# Zip Example: مراجعة الأمثلة العملية لملفات zipping في C# لتسريع عملية التطوير الخاصة بك.
  • .NET Core Zip: أفضل الممارسات للعمل مع ملفات ZIP في تطبيقات .NET core.
  • C# فتح ZIP: فهم كيفية فتح وقراءة ملفات Zip بفعالية.
  • C# اقرأ الملفات من ZIP: تقنيات لقراءة ملفات محددة مخزنة داخل أرشيفات Zip.
  • C# Zip Lists: تعرف على كيفية تحريك قوائم الملفات بسهولة في تطبيقاتك.
  • C# Zipping Files: إلقاء نظرة أدنى على أساليب زيبين الملفات.
  • .NET Core Zip: إدراج في إدارة ملفات .NET core ZIP.
  • C# Archive: تعلم كيفية استخدام فئة الأرشيف لمعالجة ZIP الشاملة.

More in this category