Overzicht
Archieven die uit items bestaan, hebben de methode createEntries voor het comprimeren van de hele map. Dergelijke methoden respecteren de mapstructuur en stellen herhaaldelijk samen voor alle submappen. U kunt ook een enkel bestandsitem toevoegen aan een willekeurige submap, waar dan ook in het archief.Hoe een map te zippen
Als u van een hele map een ZIP-archief wilt maken met behoud van de structuur, kunt u de Aspose.Zip API voor Java en de volgende code gebruiken. De constructie try-with-resources sluit automatisch de archiefbron nadat alle code is uitgevoerd, ongeacht of alle bestanden correct zijn gesloten. Het pad dat is opgegeven in het object File corpus geeft de map aan die wordt gecomprimeerd. Met createEntries wordt elk element van het archief afzonderlijk toegevoegd, waardoor de oorspronkelijke structuur behouden blijft, die is opgeslagen in een bestand met de naam archive.zip. Het is belangrijk op te merken dat de code niet controleert op het bestaan van de map “D:\Data” of op de aanwezigheid van bestanden daarin. Als de map niet bestaat of leeg is, zal de code geen archief aanmaken.
CreateEntries
methode heeft een optionele tweede parameter includeRootDirectory die geeft aan of de hoofdmap moet worden opgenomen in het archief. De standaardwaarde is waar, dus in het bovenstaande voorbeeld bevinden alle archiefitems zich in de map “Gegevens”. Als u wilt dat alleen directory-inhoud wordt toegevoegd, geeft u daar false op.
Voorbeeld - Archief maken van map:
try (Archive archive = new Archive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.zip");
}
In het volgende codevoorbeeld wordt een ZIP-archief gemaakt met twee bestanden: “image.bmp” en “lyrics.txt”. De variabelen fi1 en fi2 vertegenwoordigen deze bestanden. De createEntry-methode van het archiefobject wordt gebruikt om elk bestand aan het archief toe te voegen met de opgegeven paden: “data\pictures” voor “image.bmp” en “data\text” voor “lyrics.txt”. Samenvattend creëert deze code een ZIP-archief met de naam “archive.zip” met twee mappen, “data\pictures” en “data\text”, die elk een van de respectieve bestanden bevatten.
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");
}
Hoe een map in 7-ZIP te comprimeren met respect voor de structuur ervan
De volgende code laat zien hoe u een 7Z-archief maakt en alle bestanden en mappen uit de opgegeven map daaraan toevoegt. Het werkt op dezelfde manier als een archief met het ZIP-bestandsformaat. CreateEntries is de analoge methode van 7Z-archief. Het heeft ook de parameter includeRootDirectory. Belangrijk: wordt geïmplementeerd in Aspose.ZIP voor Java 24.4
try (SevenZipArchive archive = new SevenZipArchive()) {
File corpus = new File("D:\\Data");
archive.createEntries(corpus);
archive.save("archive.7z");
}
Hoe een map in TAR te comprimeren met behoud van de structuur
De code maakt een TAR-archief voor de opgegeven map. Het maakt gebruik van de TarArchive-klasse van de Java Archive API om dit te bereiken. De methode
createEntries
voegt alle bestanden en mappen uit de map toe aan het archief, behoud van de directorystructuur. Ten slotte schrijft de opslagmethode de inhoud van het archief naar het bestand “archive.tar”.
Voorbeeld:
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.save("archive.tar");
}
Met de opgegeven code wordt een TAR-archief gemaakt met de naam “archive.tar” dat twee vermeldingen bevat. Directory-archief - Het voegt alle bestanden en mappen uit de directory “D:\Data” toe aan het archief, waarbij de directorystructuur behouden blijft. Hierdoor wordt effectief de volledige inhoud van de opgegeven map gearchiveerd. En Single File Entry - Het voegt een specifiek bestand met de naam “data.bin” uit de “binnenste” submap toe aan het archief. Dit maakt het mogelijk om een bepaald bestand op te nemen zonder de hele mapstructuur te archiveren. Samenvattend creëert deze code een TAR-archief dat zowel archivering op mapniveau als het opnemen van individuele bestanden combineert.
Voorbeeld 2 – Combineer de archiveringsmap en
enkel bestand
try (TarArchive archive = new TarArchive()) {
archive.createEntries("D:\\Data");
archive.createEntry("inner\\data.bin", "data.bin");
archive.save("archive.tar");
}
Andere ondersteunde Aspose.ZIP voor Java API-functies
Met de Aspose.ZIP-bibliotheek in Java kunt u naadloos verschillende taken uitvoeren die verband houden met ZIP-bestandsdocumenten. Of u nu formaten moet converteren, bestanden moet samenvoegen, inhoud moet bewerken of gegevens moet extraheren, Aspose.ZIP biedt uitgebreide functionaliteit om uw workflow te stroomlijnen en de productiviteit te verbeteren.
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