deiz21
Messages postés11Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention29 janvier 2008
-
12 oct. 2006 à 10:12
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 2017
-
19 oct. 2006 à 17:28
Bonjour,
j'ai developpé une apllication et l'ai compréssé en .Jar. Le probleme est que dans le code je dois faire appel a des fichiers qui se situent dans le jar lui meme et je n'y suis pas arrivé.
au fait j'ai utilisé cette ligne de code:
url = (new File("./classes/smilies")).getCanonicalPath();
mais ca marche pas.
Je voudrai en profiter d'ailleur pour savoir la signification exact du point "." dans le chemin?
Merci a tous de m'aider.
cs_vychnou
Messages postés124Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention11 mai 200918 17 oct. 2006 à 17:26
Non sherogath tu te trompes, on ne peut pas sortir un objet de type File (Fichier...) d'un jar aussi facilement... étant donné qu'un jar est en lui même un fichier compressé.
didoux95, pour ton problème, je vais te mettre sur la voix de la solution: (désolé de n'avoir pas répondu plus tot, je n'avais pas vu ces échanges)
Tu utilises actuellement la méthode getClass().getResource("./Nombres.txt"))..
qui te renvoie il un URL.
Il fallait mieux lire mon post: je cite
"Par exemple, si nomRessource vaut: "/ressources/images/img.gif" "
La racine du fichier jar est donc / et non pas ./ , dans ton cas cela donnera
getClass().getResource("/Nombres.txt")).
Sinon, tu peux aussi utiliser la méthode getClass().getResourceAsStream("./Nombres.txt")) qui te renvoie directement un InputStream.
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 17 oct. 2006 à 19:23
je pensais qu'on pouvais obtenir un fichier a partir d'un jar .... sinon je pense que les fichier auquel tu accede mieu vaut les mettres a l'exterieur du jar
le jar et moins gros puis l'acces au fichier ne peut en etre que plus rapide
cela dit un tour dans la javadoc aurait suffit il me semble
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
cs_vychnou
Messages postés124Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention11 mai 200918 18 oct. 2006 à 15:32
Absolument pas! C'est juste pour rendre l'organisation plus 'pratique'. Combien de personnes font une application avec des ressources "non-jarées", et font ensuite un zip du répertoire pour transférer leur application (mail, ftp, cd, clé usb etc..). Maintenant l'intérèt reste limité
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 18 oct. 2006 à 15:35
voila ^^ c'est un peu la ou j'en voulais venir
je dois avouer que je ne le fais quasiment jamais (les jars) sauf pour des fichier statiques genre icone ...
^^
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 18 oct. 2006 à 20:11
Stoooop.
j'ai une derniere erreur "null pointer exception".
Voila l'exception:
java.lang.NullPointerException
at java.io.Reader.(Unknown Source)
at java.io.InputStreamReader.(Unknown Source)
at java.util.Scanner.(Unknown Source)
at Cadre_Decomposition_Facteurs_Premiers.(Cadre_Decomposition_Fact
eurs_Premiers.java:45)
at Application_Decomposition_Facteurs_Premiers.(Application_Decomp
osition_Facteurs_Premiers.java:17)
at Application_Decomposition_Facteurs_Premiers$1.run(Application_Decompo
sition_Facteurs_Premiers.java:56)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
et voila le code:
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
if (Diviseur == null){
String NombresTemporaires = "";
Scanner Test = new Scanner(getClass().getResourceAsStream("/Nombres.txt"));
while (Test.hasNext()) {
NombresTemporaires += "" + Test.nextLine();
}
StringTokenizer ST = new StringTokenizer(NombresTemporaires, ",");
while (ST.hasMoreTokens()) {
String tmp = ST.nextToken();
Diviseur.add(Integer.parseInt(tmp.trim()));
}
}
} catch (Exception exception) {
exception.printStackTrace();
}
je ne comprend pas d'ou provient cette exception.
merci.