Överblick
Arkiv som består av poster har createEntries-metoden för att komprimera hela mappen. Sådana metoder respekterar katalogstrukturen och komponerar återkommande för alla undermappar. Du kan också lägga till en enda filpost till en godtycklig undermapp var som helst i arkivet.Hur man gör ett ZIP-arkiv
Metoden createEntry används för att lägga till varje fil i det komprimerade arkivet. I dessa exempel anger vi inga komprimeringsinställningar, så standardinställningarna för det valda formatet kommer att tillämpas.
try (Archive archive = new Archive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.zip");
}
Denna kod gör ett ZIP -arkiv med namnet "archive.zip" som innehåller två filer: "data1.bin" och "data2.bin". Här är en sammanfattning av hur det fungerar:
- Automatisk resurshantering: Koden använder ett prova-med-resurser-block för att säkerställa korrekt hantering av resurser. Detta block stänger automatiskt arkivobjektet när det är klart.
- Lägga till filer i arkivet: Inuti blocket använder koden createEntry-metoden två gånger för att lägga till filer i arkivet:
- Den första posten heter "first.bin" och innehåller innehållet i filen "data1.bin".
- Den andra posten heter "second.bin" och innehåller innehållet i filen "data2.bin". - Spara arkivet: Slutligen anropas sparmetoden på arkivobjektet för att spara det nyskapade ZIP-arkivet med de angivna posterna till "archive.zip".
Hur man lägger till filer i 7zip-arkivet
För att lägga till flera bilagor till ett enda 7zip-arkiv använder vi klassen SevenZipArchive tillsammans med createEntry och spara metoderna på liknande sätt.
try (SevenZipArchive archive = new SevenZipArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.7z");
}
Följande kod utför samma åtgärder som den föregående, men för formatet 7-ZIP .
TAR gör arkiv
Att expandera arkiv innebär ofta att extrahera, lägga till nya filer och komprimera om, vilket är en resurskrävande process. Aspose.ZIP erbjuder en smartare lösning i Java. Öppna helt enkelt arkivet för extrahering och lägg till nya poster direkt, undvik onödig ompackning. Detta effektiva tillvägagångssätt fungerar för TAR-arkivformatet.
try (TarArchive archive = new TarArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.save("archive.tar");
}
Den här applikationen delar funktionaliteten med den tidigare, men den är skräddarsydd för arkiv med tillägget TAR .
Hur man skapar en GZ-fil
Format med endast komprimering utan poster. Dessa komprimeringsformat, inklusive GZIP, LZ, BZIP2, XZ och Z, stöder inte filposter. De kan bara komprimera en enda källfil åt gången.
try (FileInputStream source = new FileInputStream("alice29.txt")) {
try (GzipArchive archive = new GzipArchive()) {
archive.setSource(source);
archive.save("archive.gz");
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
Skapa TAR GZ
Aspose.ZIP erbjuder ett bekvämt sätt att kombinera format endast för arkiv och endast komprimering med en enda metod. Här är ett exempel på denna funktionalitet med kombinationen TAR.GZ. Den här metoden använder metoden saveGzipped .
try (TarArchive archive = new TarArchive()) {
archive.createEntry("first.bin", "data1.bin");
archive.createEntry("second.bin", "data2.bin");
archive.saveGzipped("archive.tar.gz");
}
Skapa TARLZ
Först skapar vi ett FileInputStream-objekt, kopplat till filen som ska arkiveras. Därefter skapar vi LzipArchive-objekt, ställer in källan till det tidigare skapade FileInputStream-objektet och sparar arkivet.
try (FileInputStream source = new FileInputStream("alice29.txt")) {
try (LzipArchive archive = new LzipArchive()) {
archive.setSource(source);
archive.save("archive.lz");
}
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
Skapa TAR BZ2-fil
Aspose.ZIP erbjuder liknande metoder för att komprimera arkiv med LZIP, XZ, ZStandard och Z-format. Däremot krävs ett annat tillvägagångssätt för BZIP2.
try (TarArchive tar = new TarArchive()) {
tar.createEntry("first.bin", "data1.bin");
tar.createEntry("second.bin", "data2.bin");
try (Bzip2Archive archive = new Bzip2Archive()) {
archive.setSource(tar);
archive.save("archive.tar.bz2");
}
}
Denna kodkonstruktion kombinerar användningen av två olika arkivformat, nämligen TAR och Bzip2. Huvudfunktionen är att ett TAR-arkiv först skapas med klassen TarArchive genom att lägga till flera filer till det med metoden createEntry, och sedan komprimeras detta arkiv till Bzip2-format med Bzip2Archive-klassen .
Andra Aspose.ZIP för Java API-funktioner som stöds
Med Aspose.ZIP-biblioteket i Java kan du sömlöst hantera olika uppgifter relaterade till ZIP-fildokument. Oavsett om du behöver konvertera format, slå samman filer, redigera innehåll eller extrahera data, erbjuder Aspose.ZIP omfattande funktionalitet för att effektivisera ditt arbetsflöde och förbättra produktiviteten.
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