Maison >Java >javaDidacticiel >Comment puis-je ajouter des fichiers à une archive ZIP en Java sans recréation ?
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 :
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!