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}