Arbeiten mit 7z-Archiven

�bersicht

7-Zip ist ein Dateiarchivierungsprogramm mit einer hohen Kompressionsrate. Aspose.ZIP API erm�glicht das Erstellen und Verwalten von 7-Zip Archiven in Ihren Anwendungen, ohne dass Sie andere Anwendungen von Drittanbietern ben�tigen. Aspose.ZIP API bietet die Klasse SevenZipArchive f�r die Arbeit mit 7-Zip Archiven. Diese Klasse bietet verschiedene Methoden, um Operationen mit Archiven durchzuf�hren. API bietet die Klasse SevenZipArchiveEntry, um eine einzelne Datei innerhalb des 7z-Archivs darzustellen.

Einen einzelnen 7-Zip-Eintrag erstellen

Das folgende Codebeispiel zeigt, wie man einen 7-Zip Eintrag mit Hilfe der SevenZipArchive Instanz erstellt.

1try (FileOutputStream sevenZipFile = new FileOutputStream("archive.7z")) {
2    try (SevenZipArchive archive = new SevenZipArchive()) {
3        archive.createEntry("data.bin", "file.dat");
4        archive.save(sevenZipFile);
5    }
6} catch (IOException ex) {
7}

Anlegen von 7-Zip-Archiveintr�gen

Die Klasse SevenZipArchive bietet createEntries-Methoden zum rekursiven Hinzuf�gen von Dateien und Verzeichnissen in das angegebene Verzeichnis an. Das folgende Codebeispiel demonstriert, wie 7-Zip Archiveintr�ge erstellt werden.

1try (SevenZipArchive archive = new SevenZipArchive()) {
2    archive.createEntries("dataDir");
3    archive.save("SevenZip.7z");
4}

7-Zip Verschl�sselungseinstellungen

Aspose.ZIP API bietet die Klasse SevenZipAESEncryptionSettings, die Einstellungen f�r die AES-Verschl�sselung oder -Entschl�sselung f�r 7z-Archive bereitstellt. Das folgende Codebeispiel zeigt, wie man AES-Verschl�sselungseinstellungen bereitstellt.

1try (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(null, new SevenZipAESEncryptionSettings("p@s$")))) {
2    archive.createEntry("data.bin", new ByteArrayInputStream(new byte[] {0x00, (byte)0xFF} ));
3    archive.save("archive.7z");
4}

AES-256 ist die einzig m�gliche Verschl�sselungsmethode f�r das 7z-Archiv.

7-Zip-Archiv mit LZMA-Komprimierung

Das folgende Codebeispiel zeigt, wie man ein 7z-Archiv mit LZMA-Komprimierung und AES-Verschl�sselung erstellt.

 1try (FileOutputStream sevenZipFile = new FileOutputStream("archive.7z")) {
 2    try (SevenZipArchive archive = new SevenZipArchive()) {
 3        archive.createEntry("Eintrag1.bin",
 4                new ByteArrayInputStream(new byte[] {0x00, (byte)0xFF}),
 5                new SevenZipEntrySettings(new SevenZipLZMACompressionSettings(),
 6                        new SevenZipAESEncryptionSettings("test1")),
 7                new File("data1.bin"));
 8        archive.save(sevenZipFile);
 9    }
10} catch (IOException ex) {
11}

Auf �hnliche Weise k�nnen Sie 7z-Archive mit den Komprimierungsmethoden BZip2, PPMd und LZMA2 zusammenstellen oder Dateien ohne Komprimierung speichern.

Unterschiedliches Passwort f�r Eintr�ge festlegen

Das folgende Codebeispiel zeigt, wie ein Archiv mit Eintr�gen erstellt wird, die mit unterschiedlichen Kennw�rtern f�r jeden Eintrag verschl�sselt sind.

 1try (FileOutputStream sevenZipFile = new FileOutputStream("archive.7z")) {
 2    Datei fi1 = new Datei("data1.bin");
 3    Datei fi2 = new Datei("daten2.bin");
 4    Datei fi3 = new Datei("daten3.bin");
 5
 6    try (SevenZipArchive archive = new SevenZipArchive()) {
 7        archive.createEntry("entry1.bin", fi1, false,
 8                new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
 9                        new SevenZipAESEncryptionSettings("test1")));
10        archive.createEntry("entry2.bin", fi2, false,
11                new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
12                        new SevenZipAESEncryptionSettings("test2")));
13        archive.createEntry("entry3.bin", fi3, false,
14                new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
15                        new SevenZipAESEncryptionSettings("test3")));
16        archive.save(sevenZipFile);
17    }
18} catch (IOException ex) {
19}

Extraktion von 7z-Archiven

Aspose.ZIP kann jetzt LZMA, LZMA2, BZip2 und PPMd komprimierte Archive extrahieren.

Das folgende Codebeispiel zeigt, wie ein 7z-Archiv in ein Verzeichnis entpackt wird.

1try (SevenZipArchive archive = new SevenZipArchive("archive.7z")) {
2    archive.extractToDirectory("ExtractionFolder");
3}

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.