Áttekintés

A bejegyzésekből álló archívumok a createEntries metódussal rendelkeznek a teljes mappa tömörítésére. Az ilyen módszerek tiszteletben tartják a könyvtárstruktúrát, és ismétlődően írnak minden almappára. Ezenkívül egyetlen fájlbejegyzést is hozzáadhat tetszőleges almappához, bárhol az archívumban.

Mappa tömörítése

Ha ZIP-archívumot szeretne létrehozni egy teljes mappából a szerkezet megőrzése mellett, használhatja az Aspose.Zip API for Java-t és a következő kódot. A try-with-resources konstrukció az összes kód végrehajtása után automatikusan bezárja az archív erőforrást, függetlenül attól, hogy az összes fájl megfelelően be van-e zárva. A File corpus objektumban megadott elérési út a tömörítendő mappát jelzi. A createEntries segítségével az archívum minden eleme külön-külön kerül hozzáadásra, így megőrzi az eredeti struktúrát, amelyet az archive.zip nevű fájlban tárolunk. Fontos megjegyezni, hogy a kód nem ellenőrzi a "D:\Data" mappa meglétét vagy a benne lévő fájlok meglétét. Ha a könyvtár nem létezik vagy üres, a kód nem hoz létre archívumot.
A CreateEntries metódusnak van opcionális második paramétere az includeRootDirectory, amely jelzi, hogy a gyökérkönyvtárat fel kell-e venni az archívumba. Az alapértelmezett érték igaz, így a fenti mintában az összes archív bejegyzés az „Adatok” mappában található. Ha csak a könyvtár tartalmat szeretné hozzáadni, adja meg a false értéket.
Minta - Archívum létrehozása a mappából:

    try (Archive archive = new Archive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.zip");
    }

A következő kódpélda egy ZIP archívumot hoz létre két fájlból: „image.bmp” és „lyrics.txt”. A fi1 és fi2 változók képviselik ezeket a fájlokat. Az archívum objektum createEntry metódusával minden egyes fájlt hozzáadunk az archívumhoz a megadott elérési útvonalakkal: "data\pictures" az "image.bmp" és "data\text" a "lyrics.txt" esetén. Összefoglalva, ez a kód létrehoz egy "archive.zip" nevű ZIP-archívumot, amely két mappát, "data\pictures" és "data\text" tartalmaz, amelyek mindegyike egy-egy megfelelő fájlt tartalmaz.

    try (Archive archive = new Archive()) {
        File fi1 = new File("image.bmp");
        File fi2 = new File("lyrics.txt");
        archive.createEntry("data\\pictures\\photo.bmp", fi1);
        archive.createEntry("data\\text\\song.txt", fi2);
        archive.save("archive.zip");
    }

Hogyan lehet tömöríteni a mappát 7-ZIP-ben, tiszteletben tartva a szerkezetét

A következő kód bemutatja, hogyan hozhat létre 7Z archívumot, és hogyan adhat hozzá a megadott könyvtárból az összes fájlt és mappát. Hasonlóan működik, mint egy ZIP fájlformátumú archívum. A CreateEntries a 7Z archívum analóg módszere. Van benne includeRootDirectory paraméter is. Fontos: az Aspose.ZIP for Java 24.4.

    try (SevenZipArchive archive = new SevenZipArchive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.7z");
    }

Hogyan lehet egy mappát tömöríteni a TAR-ban, miközben megtartja a szerkezetét

A kód létrehoz egy TAR archívumot a megadott könyvtárhoz. Ennek eléréséhez a Java Archive API TarArchive osztályát használja. A createEntries metódus hozzáadja a könyvtárból az összes fájlt és mappát az archívumba, a könyvtárszerkezet megőrzése. Végül a mentési módszer az archívum tartalmát az „archive.tar” fájlba írja.
Minta:

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.save("archive.tar");
    }

A megadott kód létrehoz egy "archive.tar" nevű TAR archívumot, amely két bejegyzést tartalmaz. Könyvtárarchívum – A "D:\Data" könyvtár összes fájlját és mappáját hozzáadja az archívumhoz, megőrzi a könyvtárszerkezetet. Ez hatékonyan archiválja a megadott könyvtár teljes tartalmát. És egyfájlos bejegyzés – a „belső” almappából egy adott „data.bin” nevű fájlt ad az archívumhoz. Ez lehetővé teszi egy adott fájl felvételét a teljes könyvtárstruktúra archiválása nélkül. Összefoglalva, ez a kód egy TAR archívumot hoz létre, amely egyesíti a könyvtárszintű archiválást és az egyedi fájlok beépítését.
2. példa – Az archiválási könyvtár és egyetlen fájl egyesítése. Húr

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.createEntry("inner\\data.bin", "data.bin");
        archive.save("archive.tar");
    }

Egyéb támogatott Aspose.ZIP a Java API-funkciókhoz

A Java Aspose.ZIP könyvtárával zökkenőmentesen kezelheti a ZIP fájlokkal kapcsolatos különféle feladatokat. Legyen szó formátumok konvertálására, fájlok egyesítésére, tartalom szerkesztésére vagy adatok kibontására, az Aspose.ZIP átfogó funkcionalitást biztosít a munkafolyamat egyszerűsítéséhez és a termelékenység növeléséhez.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: