Réponses:
À partir de la documentation :
Pour extraire les fichiers d'un fichier jar, utilisez
x, comme dans:C:\Java> jar xf myFile.jarPour extraire uniquement certains fichiers d'un fichier jar, indiquez leurs noms de fichiers:
C:\Java> jar xf myFile.jar foo bar
Le dossier où se jartrouve probablement n'est pas C:\Javapour vous, sur ma partition Windows c'est:
C:\Program Files (x86)\Java\jdk[some_version_here]\bin
Sauf si l'emplacement de jarest dans votre variable d'environnement de chemin, vous devrez spécifier le chemin complet / exécuter le programme à partir du dossier.
EDIT: Voici un autre article, spécifiquement axé sur l'extraction des JAR: http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html
jar.exeou exécutez-le depuis l'intérieur du dossier.
Vous pouvez utiliser la commande suivante: jar xf rt.jar
Où Xreprésente l'extraction et les foptions seraient toutes les options indiquant que le fichier JAR à partir duquel les fichiers doivent être extraits est spécifié sur la ligne de commande, plutôt que via stdin.
Java a une classe spécifiquement pour les fichiers zip et encore plus spécifiquement pour les fichiers Jar.
java.util.jar.JarOutputStream
java.util.jar.JarInputStream
en utilisant ceux que vous pourriez, sur une commande de la console, en utilisant un scanner défini sur system.in
Scanner console = new Scanner(System.in);
String input = console.nextLine();
puis récupérez tous les composants et écrivez-les sous forme de fichier.
JarEntry JE = null;
while((JE = getNextJarEntry()) != null)
{
//do stuff with JE
}
Vous pouvez également utiliser java.util.zip.ZipInputStream à la place, car si un fichier JAR est au même format qu'un fichier ZIP, ZipInputStream sera capable de gérer le fichier Jar, en fait JarInputStream étend réellement ZipInputStream.
une alternative est également au lieu de getNextJarEntry, pour utiliser getNextEntry
Étant donné un fichier nommé Me.Jar:
Utilisez la jarcommande Java - J'utilise jdk1.8.0_31 donc je tape
C: \ Program Files (x86) \ Java \ jdk1.8.0_31 \ bin \ jar xf me.jar
Cela devrait extraire le fichier dans la corbeille du dossier. Cherchez le fichier .class dans mon cas mon Me.jar contient un Valentine.class
Type java Valentineet appuyez sur Entrée et votre fichier de message sera ouvert.
Pour extraire le fichier jar dans le dossier spécifié, utilisez cette commande via l'invite de commande
C:\Java> jar xf myFile.jar -C "C:\tempfolder"
-Cne peut être utilisé que lors de la création de fichiers jar.
unzip file.jar -d dir_name_where_extracting, sous Windows, vous devez copier / déplacer votre JAR dans le dossier de destination, puis l'extraire là-bas ...