Á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
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for Java?
- Customers List
- Success Stories