Bevezetés

A zip fájlok létfontosságúak az adatok rendszerezéséhez és tömörítéséhez, de hogyan módosítható a tartalmuk programozottan? A megoldás az Aspose.Zip for .NET-ben rejlik, egy robusztus könyvtárban, amely leegyszerűsíti a zip fájlok kezelését C#-ban. Ebben az oktatóanyagban lépésről lépésre végigvezetünk a zip fájlok kibontásán, törlésének és bejegyzések hozzáadásának folyamatán.

Előfeltételek

Mielőtt belevágnánk, győződjünk meg róla, hogy a következőkkel rendelkezünk:

  1. Aspose.Zip .NET könyvtárhoz: Telepítse a könyvtárat a projektjébe. Letöltheti itt.

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

Szükséges névterek importálása

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

Kezdésként nyisd meg a fő zip fájlt (külső zip):

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

2. lépés: A belső irányítószám-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 kinyerése
            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: Belső archívumbejegyzések törlése

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

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

4. lépés: Módosított bejegyzések hozzáadása a külső irányítószámhoz

Most már visszahelyezheti az újonnan kibontott bejegyzéseket a külső zip fájlba:

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 el 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ódszert kínál a zip fájlok programozott kezelésére. Ez az oktatóanyag a zip fájlok kibontását, törlését és bejegyzések hozzáadását ismertette, bemutatva a könyvtár sokoldalúságát. Fedezz fel különböző forgatókönyveket, és fejleszd fájlkezelési készségeidet!

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önböző programozási nyelvekhez.

Van ingyenes próbaverzió az Aspose.Zip for .NET-hez?

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

Hogyan kaphatok támogatást az Aspose.Zip for .NET fájlhoz?

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

Vásárolhatok ideiglenes licencet az Aspose.Zip for .NET fájlhoz?

Igen, igényelhet ideiglenes jogosítványt itt.

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

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