Maison  >  Article  >  Java  >  Comment extraire le contenu d'un fichier JAR dans un répertoire spécifié ?

Comment extraire le contenu d'un fichier JAR dans un répertoire spécifié ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 00:53:31436parcourir

How to Extract JAR File Contents into a Specified Directory?

Extraction du contenu du fichier JAR dans un répertoire spécifié

Problème :

Vous disposez d'un fichier JAR et devez l'extraire contenu dans un répertoire spécifique. L'exécution de la commande "jar -xf filename.jar" renvoie une erreur.

Solution :

Utilisation d'un exemple existant :

  • Référez-vous à ce guide sur l'extraction de ressources Java à partir d'archives JAR et ZIP : https://examples.javacodegeeks.com/core-java/java-util-jar-extract-resources-from-jar-and-zip -archive-example/.

Code personnalisé :

Vous pouvez également utiliser le code suivant :

<code class="java">// JAR file to extract
java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);

// Extract all entries
java.util.Enumeration enumEntries = jar.entries();
while (enumEntries.hasMoreElements()) {
    // Get the entry
    java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries.nextElement();

    // Create a file object
    java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName());

    // If the entry is a directory, create it
    if (file.isDirectory()) {
        f.mkdir();
        continue;
    }

    // Otherwise, extract the file
    java.io.InputStream is = jar.getInputStream(file); // Input stream
    java.io.FileOutputStream fos = new java.io.FileOutputStream(f); // Output stream

    // Write the file contents
    while (is.available() > 0) {
        fos.write(is.read());
    }

    // Close streams
    fos.close();
    is.close();
}

// Close the JAR file
jar.close();</code>

Source : http://www.devx.com/tips/Tip/22124

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