2008-12-05 3 views
0

J'ai un fichier jar qui a un fichier nommé "client.ts" dans (lors de l'affichage dans ZipGenius) "/ com/something/messaging". Quand je le faisPuis-je extraire un fichier à partir d'un jar de 3 répertoires de profondeur?

JarFile jarFile = new JarFile("Client.jar"); 
JarEntry zipFile = jarFile.getJarEntry("client.ts"); 

Il ne trouve pas le fichier "client.ts". Si je place le fichier dans "/ resources /" à la place, il peut le trouver. Est-ce que JarFile.getEntry() ne recherche qu'un seul répertoire? Le javadoc pour getJarEntry() dit simplement: Renvoie le ZipEntry pour le nom d'entrée donné ou null s'il n'est pas trouvé.

Répondre

3

Le chemin complet de l'entrée dans le JAR devrait fonctionner:

JarEntry zipFile = jarFile.getJarEntry("com/something/messaging/client.ts"); 
+0

en fait la chaîne doit être « com/quelque chose/messagerie/client.ts » – darrickc

+0

Savez-vous pourquoi cela fonctionne si elle est juste dans la ressources/répertoire? Doit être java recherche juste un répertoire. – darrickc

+0

@ darrickc.blogspot.com J'étais flou sur ce bit. Je suis content que vous l'ayez fait. – sblundy

Questions connexes