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

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
437 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!

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