Extraction du contenu d'un fichier JAR vers un répertoire spécifié en Java
Les fichiers Jar, souvent utilisés pour empaqueter des applications Java, sont distribués dans un format compressé . Pour accéder efficacement au contenu d'un fichier JAR par programme, il devient nécessaire de l'extraire ou de le décompresser.
Approche en ligne de commande : résoudre l'erreur jar -xf
Tentative de décompresser un fichier JAR à l'aide de la commande jar -xf filename.jar peut générer l'erreur « Impossible d'exécuter le programme "jar » : java.io.IOException : erreur = 2, aucun fichier ou répertoire de ce type. » Ce problème survient lorsque l'exécutable JAR ne se trouve pas dans le chemin système. Pour le résoudre, assurez-vous que l'exécutable JAR est disponible dans le chemin actuel ou mettez à jour le chemin système en conséquence.
Solution programmatique
Pour extraire le contenu d'un fichier JAR par programme, vous pouvez utiliser les deux approches suivantes :
<code class="java">java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile); java.util.Enumeration enumEntries = jar.entries(); while (enumEntries.hasMoreElements()) { java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries.nextElement(); java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName()); if (file.isDirectory()) { // if its a directory, create it f.mkdir(); continue; } java.io.InputStream is = jar.getInputStream(file); // get the input stream java.io.FileOutputStream fos = new java.io.FileOutputStream(f); while (is.available() > 0) { // write contents of 'is' to 'fos' fos.write(is.read()); } fos.close(); is.close(); } jar.close();</code>
Conclusion
En implémentant les solutions ci-dessus, vous pouvez extraire de manière transparente le contenu d'un fichier JAR dans un répertoire spécifié dans vos applications Java.
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!