Přehled
Archivy, které se skládají z položek, mají metodu createEntries pro kompresi celé složky. Tyto metody respektují strukturu adresářů a opakují se pro všechny podsložky. Můžete také přidat jednu položku souboru do libovolné podsložky kamkoli do archivu.Jak zazipovat složku
Pokud chcete vytvořit ZIP archiv z celé složky při zachování struktury, můžete použít Aspose.Zip API pro Javu a následující kód. Konstrukt try-with-resources automaticky zavře prostředek Archive poté, co byl proveden veškerý kód, bez ohledu na to, zda jsou všechny soubory správně uzavřeny. Cesta zadaná v objektu File corpus označuje složku, která bude komprimována. Pomocí createEntries je každý prvek archivu přidán samostatně, čímž je zachována původní struktura, která je uložena v souboru s názvem archive.zip. Je důležité si uvědomit, že kód nekontroluje existenci složky "D:\Data" ani přítomnost souborů v ní. Pokud adresář neexistuje nebo je prázdný, kód nevytvoří žádný archiv.
Metoda
CreateEntries
má volitelný druhý parametr includeRootDirectory, který označuje, zda je třeba do archivu zahrnout kořenový adresář. Výchozí hodnota je true, takže ve výše uvedeném příkladu budou všechny položky archivu umístěny ve složce "Data". Pokud chcete, aby byl přidán pouze obsah adresáře, zadejte tam hodnotu false.
Ukázka - Vytvoření archivu ze složky:
try (Archive archive = new Archive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.zip");
}
Následující příklad kódu vytvoří archiv ZIP se dvěma soubory: "image.bmp" a "lyrics.txt". Proměnné fi1 a fi2 představují tyto soubory. Metoda createEntry objektu archivu se používá k přidání každého souboru do archivu se zadanými cestami: "data/pictures" pro "image.bmp" a "data/text" pro "lyrics.txt". Stručně řečeno, tento kód vytvoří archiv ZIP s názvem „archive.zip“ obsahující dvě složky, „data/pictures“ a „data/text“, z nichž každá obsahuje jeden z příslušných souborů.
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");
}
Jak komprimovat složku v 7-ZIP při respektování její struktury
Následující kód ukazuje, jak vytvořit archiv 7Z a přidat do něj všechny soubory a složky ze zadaného adresáře. Funguje podobně jako archiv ve formátu ZIP. CreateEntries je analogová metoda archivu 7Z. Má také parametr includeRootDirectory. Důležité: bude implementováno v Aspose.ZIP for Java 24.4
try (SevenZipArchive archive = new SevenZipArchive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.7z");
}
Jak komprimovat složku v TAR při zachování její struktury
Kód vytvoří archiv TAR pro zadaný adresář. K tomu využívá třídu TarArchive z Java Archive API. Metoda
createEntries
přidá všechny soubory a složky z adresáře do archivu, zachování adresářové struktury. Nakonec metoda save zapíše obsah archivu do souboru "archive.tar".
Ukázka:
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.save("archive.tar");
}
Poskytnutý kód vytvoří archiv TAR s názvem "archive.tar" obsahující dvě položky. Directory Archive - Přidá všechny soubory a složky z adresáře "D:/Data" do archivu, přičemž zachová adresářovou strukturu. Tím se efektivně archivuje celý obsah zadaného adresáře. A Single File Entry - Přidá do archivu specifický soubor s názvem "data.bin" z "vnitřní" podsložky. To umožňuje zahrnout konkrétní soubor bez archivace celé adresářové struktury. Stručně řečeno, tento kód vytváří archiv TAR, který kombinuje archivaci na úrovni adresáře a zahrnutí jednotlivých souborů.
Ukázka 2 – Zkombinujte archivační adresář a
jeden soubor
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.createEntry("inner\\data.bin", "data.bin");
archive.save("archive.tar");
}
Další podporované funkce Aspose.ZIP pro Java API
S knihovnou Aspose.ZIP v Javě můžete bez problémů zvládnout různé úkoly související s dokumenty souborů ZIP. Ať už potřebujete převádět formáty, slučovat soubory, upravovat obsah nebo extrahovat data, Aspose.ZIP poskytuje komplexní funkce pro zefektivnění vašeho pracovního postupu a zvýšení produktivity.
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