Heim >Java >javaLernprogramm >Wie kann ich Dateien in Java effizient an eine Zip-Datei anhängen?

Wie kann ich Dateien in Java effizient an eine Zip-Datei anhängen?

DDD
DDDOriginal
2024-11-21 05:56:11891Durchsuche

How Can I Efficiently Append Files to a Zip File in Java?

Dateien an eine Zip-Datei in Java anhängen: Effiziente Methoden erkunden

Bei der Arbeit mit WAR-Dateien ist es üblich, deren Inhalte zu extrahieren, hinzuzufügen neue Dateien und erstellen Sie dann eine neue WAR-Datei. Dieser Vorgang kann jedoch zeitaufwändig sein, da eine Erweiterung und erneute Komprimierung erforderlich ist.

Eine effiziente Alternative, die in Betracht gezogen werden sollte, ist das direkte Anhängen von Dateien an die WAR-Datei. Obwohl die Java-Dokumentation hierzu keine expliziten Anleitungen bietet, gibt es externe Bibliotheken, die diese Funktionalität ermöglichen.

TrueZip und ähnliche Bibliotheken

TrueZip ist eine beliebte Java-Bibliothek zum Bearbeiten von Zip-Dateien. Es unterstützt das Anhängen von Dateien an Zip-Archive und ist somit eine geeignete Lösung für das beschriebene Szenario. Hier ist ein Beispiel mit TrueZip:

ZipFile zipFile = new ZipFile("test.war");
zipFile.addFile("new.txt", new File("new.txt"));
zipFile.close();

Java 7 ジップファイルシステム機能

In Java 7 bietet die Zip-Dateisystem-API einen nativen Mechanismus für den Zugriff und die Bearbeitung zip-Dateien als Dateisystem. Dies ermöglicht das direkte Schreiben und Ändern von Dateien innerhalb der ZIP-Datei, ohne die gesamte Datei neu packen zu müssen.

Map<String, String> env = new HashMap<>();
env.put("create", "true");
Path path = Paths.get("test.zip");
URI uri = URI.create("jar:" + path.toUri());
try (FileSystem fs = FileSystems.newFileSystem(uri, env)) {
  Path nf = fs.getPath("new.txt");
  try (Writer writer = Files.newBufferedWriter(nf, StandardCharsets.UTF_8, StandardOpenOption.CREATE)) {
    writer.write("hello");
  }
}

Das Java 7 Zip-Dateisystem ist ein leistungsstarker und effizienter Ansatz zum Anhängen von Dateien an ZIP-Archive. Bei älteren Java-Versionen können jedoch externe Bibliotheken wie TrueZip diese Funktionslücke schließen.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateien in Java effizient an eine Zip-Datei anhängen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn