Maison >Java >javaDidacticiel >Comment puis-je ajouter des fichiers à une archive ZIP en Java sans recréation ?

Comment puis-je ajouter des fichiers à une archive ZIP en Java sans recréation ?

DDD
DDDoriginal
2024-11-25 15:53:10716parcourir

How Can I Append Files to a ZIP Archive in Java Without Re-creation?

Ajout de fichiers au ZIP en Java

À la recherche d'une alternative à l'approche conventionnelle d'extraction, de modification et de recréation de fichiers de guerre, vous êtes explorer la possibilité d'ajouter des fichiers directement à un fichier war existant.

Java natif Support

Java 7 a introduit le système de fichiers Zip, qui offre la possibilité d'ajouter et de modifier des fichiers dans des archives ZIP sans avoir besoin d'un reconditionnement manuel. À l'aide de cette API, vous pouvez écrire directement dans des fichiers au sein de fichiers ZIP, comme le montre l'extrait de code suivant :

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");
    }
}

Cette méthode contourne le processus fastidieux d'extraction et de recompression du fichier war, ce qui entraîne des problèmes importants. gains d'efficacité.

Bibliothèques tierces

Alors que Java le support natif est efficace, il existe également des bibliothèques tierces qui offrent des fonctionnalités supplémentaires, comme TrueZip. TrueZip fournit un ensemble complet de fonctionnalités pour travailler avec des fichiers ZIP, notamment la possibilité d'ajouter des fichiers et d'extraire leur contenu. D'autres bibliothèques notables incluent :

  • Zip4j : Prend en charge l'ajout, le cryptage et la compression de fichiers.
  • Apache Commons Compress : Une bibliothèque populaire pour gérer divers formats de compression, y compris ZIP.
  • jZip : Une bibliothèque légère axée sur la facilité d'utilisation pour la manipulation de fichiers ZIP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn