Maison > Java > javaDidacticiel > le corps du texte

Comment extraire le contenu d'un fichier JAR vers un répertoire spécifié en Java ?

Susan Sarandon
Libérer: 2024-10-26 23:50:30
original
389 Les gens l'ont consulté

How to Extract JAR File Contents to a Specified Directory in Java?

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 :

  1. Utilisation des ressources des archives JAR/Zip : Reportez-vous à cet exemple pour extraire des ressources Java des archives JAR et ZIP.
  2. Code d'extraction personnalisé : Vous pouvez également utiliser le code Java ci-dessous pour extraire le contenu du fichier JAR :
<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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!