Maison > Java > javaDidacticiel > le corps du texte

Comment décompresser un fichier JAR dans un répertoire spécifique en Java ?

Susan Sarandon
Libérer: 2024-11-03 16:45:03
original
305 Les gens l'ont consulté

How to Unpack a JAR File into a Specific Directory in Java?

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

Problème :

Vous souhaitez développer un programme Java capable de décompresser un fichier JAR dans un répertoire désigné, similaire à la fonctionnalité de décompression d'une archive. Cependant, l'exécution de la commande "jar -xf filename.jar" entraîne une erreur.

Solution :

Considérez les approches suivantes :

Utilisation des ressources des archives ZIP/JAR

Référencez cet exemple : https://stackoverflow.com/questions/1356436/how-to-extract-java-resources-from-jar-and- zip-archive

Extraction Programmatique

Implémentez le code ci-dessous :

<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

Source : https://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!

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