Módosítsa a ZIP-fájlokat az Aspose.Zip for .NET segítségével

Bevezetés

ZIP-fájlok létfontosságúak az adatok rendezéséhez és tömörítéséhez, de hogyan módosíthatja a tartalmukat programozottan? A megoldás az Aspose.Zip for .NET-ben rejlik, amely egy robusztus könyvtár, amely leegyszerűsíti a zip-fájlok kezelését C# segítségével. Ebben az oktatóanyagban lépésről lépésre végigvezetjük a zip-fájlok kibontásán, törlésén és bejegyzések hozzáadásán.

Előfeltételek

Mielőtt belemerülnénk, győződjön meg arról, hogy rendelkezik az alábbiakkal:

  1. Aspose.Zip for .NET Library: Telepítse a könyvtárat a projektben. Letölthetiitt.

  2. Dokumentumkönyvtár: Állítson be egy könyvtárat a zip-fájlok tárolására. Cserélje ki"Your Document Directory" a kódban a tényleges elérési úttal.

Importálja a szükséges névtereket

Kezdje a szükséges névterek importálásával:

using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

1. lépés: Nyissa meg a külső ZIP-fájlt

Kezdje a fő zip-fájl (külső zip) megnyitásával:

string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
    // Folytassa a belső zip-bejegyzések azonosításával
}

2. lépés: A belső zip-bejegyzések azonosítása

Ezután azonosítsa és készüljön fel a belső zip-fájlok törlésére:

List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();

foreach (ArchiveEntry entry in outer.Entries)
{
    if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
    {
        entriesToDelete.Add(entry);
        
        using (MemoryStream innerCompressed = new MemoryStream())
        {
            entry.Open().CopyTo(innerCompressed);
            
            // Belső bejegyzések kibontása
            using (Archive inner = new Archive(innerCompressed))
            {
                foreach (ArchiveEntry ie in inner.Entries)
                {
                    namesToInsert.Add(ie.Name);
                    MemoryStream content = new MemoryStream();
                    ie.Open().CopyTo(content);
                    contentToInsert.Add(content);
                }
            }
        }
    }
}

3. lépés: Törölje a belső archívum bejegyzéseit

Miután összegyűjtötte a szükséges bejegyzéseket, törölje a belső zip bejegyzéseket:

foreach (ArchiveEntry e in entriesToDelete)
{
    outer.DeleteEntry(e);
}

4. lépés: Adjon hozzá módosított bejegyzéseket a külső ziphez

Most újra hozzáadhatja az újonnan kicsomagolt bejegyzéseket a külső zip-fájlhoz:

for (int i = 0; i < namesToInsert.Count; i++)
{
    outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}

5. lépés: Mentse el a módosított ZIP-fájlt

Végül mentse a módosításokat egy új zip fájlba:

outer.Save(dataDir + "flatten.zip");

Következtetés

Az Aspose.Zip for .NET hatékony és egyszerű módot kínál a zip-fájlok programozott kezelésére. Ez az oktatóanyag a bejegyzések zip-fájlba történő kibontásával, törlésével és hozzáadásával foglalkozott, bemutatva a könyvtár sokoldalúságát. Fedezze fel a különböző forgatókönyveket, és fejlessze fájlkezelési készségeit!

GYIK

Használhatom az Aspose.Zip for .NET fájlt más programozási nyelvekkel?

Az Aspose.Zip elsősorban .NET-alkalmazásokhoz készült, de az Aspose hasonló könyvtárakat kínál különféle programozási nyelvekhez.

Létezik ingyenes próbaverzió az Aspose.Zip for .NET számára?

Igen, ingyenes próbaverzió letölthetőitt.

Hogyan kaphatok támogatást az Aspose.Zip for .NET-hez?

Látogassa meg aAspose.Zip fórum támogatásért és megbeszélésekért.

Vásárolhatok ideiglenes licencet az Aspose.Zip for .NET számára?

Igen, kaphat ideiglenes engedélytitt.

Hol találom az Aspose.Zip for .NET dokumentációját?

A teljes dokumentáció elérhetőitt.