Create a Flat ZIP Archive in C#

Bevezetés

A ZIP fájlok kezelése kihívást jelenthet, különösen akkor, ha tartalmaznak nested archívumokat. Ez az útmutató a zIP struktúrák elterjedésének folyamatait fogja átmenni azáltal, hogy az összes belső zIP-fájlt egyetlen archivumba kivonja az Aspose.ZIP for .NET használatával.

Miért készítsünk egy ZIP-t?

A ZIP archívum létrehozása számos előnnyel rendelkezik:

  • Könnyíti a ZIP fájlkezelést: csökkenti a bonyolultságot a többfájlok kezelése során.
  • Egy archívumba egészíti ki az összes ZIP-tartalmat: A fájlok konszolidálása a hozzáférés megkönnyítése érdekében.
  • Reduce redundant folder structures: Streamlines a fájlok szervezete.

Tartalmak táblája

1. A ZIP archívum feldolgozásának beállítása C#

Ahhoz, hogy hatékonyan feldolgozzuk a nested ZIP archívumokat, használjuk [Aspose.ZIP for .NET](https://products.aspose.net/zip:

  • Automatikus ZIP kivonás és újrakompresszió.
  • Több archív formátum támogatása: ZIP, TAR, GZip és így tovább.
  • Nagy archívumok hatékony feldolgozása.

telepítés

A könyvtár könnyen telepíthető a NuGet segítségével:

PM> Install-Package Aspose.Zip

Alternatív módon a DLL letölthető a Aspose letöltés oldal.

2. Lépés, hogy hozzon létre egy Flat ZIP Archive

Tekintse meg a következő nested ZIP szerkezetet:

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

Az összes belső ZIP tartalmat az anyai ZIP-be fogják konszolidálni:

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

Kód példája

Íme, hogyan lehet automatizálni a kivonat a nemes ZIP fájlokat:

// 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");
}

Ez a módszer hatékonyan automatizálja a nemes ZIP fájl kivonását, biztosítva egy sima munkafolyamatot a C# Archive funkciókkal.

3. A ZIP fájl mentése

Miután eltávolította a nemes ZIP tartalmakat, mentse meg a nemes ZIP fájlt a következő kódvonalon keresztül:

parentZip.Save("flattened.zip");

Ez biztosítja, hogy egy ** egyedi ZIP archívumot kapsz fájlok nélkül**, ami sokkal könnyebbé teszi a Fájlkezelést a ** C# Zip Compression** technikák révén.

4. Batch feldolgozás több ZIP archívum

Ha egy adott mappában található tömeges több ZIP archívumra van szüksége, akkor a következő kódszalagot használhatja:

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

Ez a módszer lehetővé teszi automatizált tömeg ZIP feldolgozás, időt és erőfeszítést takarít meg, miközben hatékonyan kezeli C# Zip fájlokat.

5. Szerezzen ingyenes API licencet

Az Aspose.ZIP teljes funkcióinak kikapcsolása érdekében kérhet egy szabad ideiglenes licencet.

Az átfogó dokumentációhoz látogasson el a Aspose.ZIP útmutató . Ha bármilyen kérdése van, szabadon vegyen részt a közösséggel az Fórum oldalon/).

6. Következtetés és további források

Összefoglaló

Ebben az útmutatóban a következőket fedeztük fel:

  • Hogyan illeszkedik a ZIP fájlok C#
  • ZIP archívumok eltávolítása
  • Az utolsó ZIP archívum mentése
  • Több ZIP fájl feldolgozása egyszerre

Aspose.ZIP for .NET segítségével hatékonyan kivonhatja és kezeli a ZIP archívumokat az alkalmazásokban!

További erőforrások

A fejlesztők, akik szeretnék javítani a megértését, fontolja meg ezeket a témákat:

  • C# Create Zip Archive: Fedezze fel a különböző módszereket a ZIP fájlok létrehozására a C# alkalmazásokban.
  • ZIP Fájl létrehozása C# .NET Core: A .NET Core-ra összpontosítva megtanulják a ZIP fájltöztetés legjobb gyakorlatát.
  • C# Fájl kivonat ZIP: lépésről lépésre utasítások a speciális fájlok kivonásáról a zIP archívumokból.
  • C# Decompress ZIP: Részletes útmutató a C# használatával történő dekompressziójáról#.
  • Hogyan lehet Zip Fájlokat a .NET-ben C#: A teljes folyosó a zipping fájlok használatával .NET és C#.
  • C# ZipArchive Extract to Directory: Fedezze fel, hogyan kell használni a ziparchive hatékony fájl kivonat.
  • C# Zipping Fájlok: Fedezze fel a C# fájlok zipping módszereit a teljesítmény és a kényelem javítása érdekében.
  • .NET Core Create Zip File: Részletes megtekintés a ZIP fájlok létrehozásáról a .NET core és a C# használatával#.
  • C# Zip: Ismerje meg, hogyan kezelje a ZIP fájlokat hatékonyan C#.
  • C# Zip Example: A fejlesztési folyamat egyszerűsítése érdekében felülvizsgálja a zipping fájlok gyakorlati példáit a C#-ban.
  • .NET Core Zip: A legjobb gyakorlatok a ZIP fájlokkal való munkavégzéshez .NET Core alkalmazásokban.
  • C# Open ZIP: Megértse, hogyan lehet hatékonyan megnyitni és olvasni a zip fájlokat.
  • C# Olvassa el a ZIP-ből készült fájlokat: A zIP archívumokban tárolt bizonyos dokumentumok olvasási technikái.
  • C# Zip listák: Ismerje meg, hogyan kell zips lista fájlokat szilárdan az alkalmazásokban.
  • C# Zipping Fájlok: A zipping fájlok módszereinek részletesebb megtekintése.
  • .NET Core Zip: A fájlkezeléshez való betekintés.
  • C# Archive: Megtanulják használni az archív osztály átfogó ZIP kezelést.

More in this category