Übersicht
Um Ihre Archive aktuell und relevant zu halten, sollten Sie bei Bedarf die Löschung von Einträgen in Betracht ziehen. Mit Aspose.Zip über Java können Sie bestimmte Dateien im Archiv selektiv entfernen oder aktualisieren.So entfernen Sie eine Datei aus Zip
Einträge des ZIP-Archivs können mit dem Methodenpaar
deleteEntry
gelöscht werden. Das Löschen eines Eintrags erfolgt ohne Neupacken, sodass andere Einträge nicht dekomprimiert und komprimiert werden.
Wenn Sie mit Java eine einzelne Datei aus "archive.zip" löschen müssen, zeigt der folgende Code, wie das geht. Es führt die folgenden Aktionen aus
1. Öffnet das Archiv zur Bearbeitung: Der Code verwendet ein Try-Konstrukt, um das Archiv automatisch zu schließen, nachdem der Codeblock ausgeführt wurde.
2. Durchläuft Einträge: Die nachfolgenden Zeilen implementieren eine Schleife, die die Archiveinträge durchläuft und alle bis auf den letzten löscht.
3. Speichert das geänderte Archiv: Nach Abschluss der Schleife wird das geänderte Archiv in einer neuen Datei mit dem Namen "last_entry.zip" gespeichert.
Es ist möglich, geänderte Archive unter demselben Pfad zu speichern, dies erfordert jedoch das Kopieren in eine temporäre Datei . Das Löschen von Einträgen aus ZIP-Archiven mit mehreren Volumes ist nicht möglich.
try (Archive archive = new Archive("archive.zip")) {
while (archive.getEntries().size() > 1)
archive.deleteEntry(archive.getEntries().get(0));
archive.save("last_entry.zip");
}
Entfernen Sie Dateien aus einem TAR-Archiv
Einträge des TAR-Archivs können mit ähnlichen deleteEntry-Methoden gelöscht werden.
Dies ist der Code für die Arbeit mit dem TAR-Archiv mit dem Namen "two_files.tar". Es öffnet das Archiv zur Bearbeitung mithilfe des Try-with-Resources-Konstrukts, das das Archiv automatisch schließt, nachdem die Ausführung des Codeblocks abgeschlossen ist. Als nächstes löscht der Code den Datensatz mit Index 0 aus dem Archiv, also die erste Datei in der Liste der Dateien oder Ordner. Der Code speichert dann das geänderte Archiv als "single_file.tar". Dieser Code erstellt also ein neues TAR-Archiv, das nur eine der Dateien enthält, die sich im ursprünglichen "two_files.tar"-Archiv befanden.
Einträge aus komprimierten TAR-Archiven löschen, z.B. *.tar.gz erfordert zunächst eine Dekomprimierung in ein einfaches *.tar-Archiv.
try (TarArchive archive = new TarArchive("two_files.tar")) {
archive.deleteEntry(0);
archive.save("single_file.tar");
}
Andere unterstützte Java-Komprimierungs-API
Verwenden Sie die Java-Bibliothek Aspose.ZIP zum Konvertieren, Zusammenführen, Bearbeiten von Zip-Dateidokumenten, Extrahieren von Daten aus den Archiven und mehr!
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