Comment lire un fichier texte dans un jar ? [Résolu]

cs_Micke7 17 Messages postés jeudi 21 septembre 2006Date d'inscription 2 avril 2009 Dernière intervention - 1 avril 2009 à 11:13 - Dernière réponse : cs_Micke7 17 Messages postés jeudi 21 septembre 2006Date d'inscription 2 avril 2009 Dernière intervention
- 2 avril 2009 à 10:03
Bonjour à tous,

Voulant lire un fichier texte situé dans un jar, mes recherches mon conduit sur ce sujet http://www.javafr.com/forum/sujet-COMMENT-LIRE-FICHIER-TEXTE-DANS-JAR_740404.aspx. Le probléme est que lorsque je fais un InputStream in = ClassLoader.getResourceAsStream(adresseRaccourci); j'ai l'erreur
Cannot make a static reference to the non-static method getResourceAsStream(String) from the type ClassLoader" qui apparait.
Quelqu'un pourrait'il m'aider à la résoudre?
Merci.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Twinuts 5278 Messages postés dimanche 4 mai 2003Date d'inscription 13 septembre 2018 Dernière intervention - 2 avril 2009 à 09:59
3
Merci
Salut,

ok, le problème est simple :
ClassLoader.getResourceAsStream(...) n'existe simplement pas en static,
c'est ClassLoader.getSystemResourceAsStream(...) qui existe en static donc pour ton pb le mieux (sans les appels static du classloader) c'est de remplacer la ligne :
InputStream raccourci = ClassLoader.getResourceAsStream(adresseRaccourci);
par la ligne :
InputStream raccourci = getClass().getClassLoader().getResourceAsStream(adresseRaccourci);

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

Merci Twinuts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Twinuts
ferrag 5 Messages postés vendredi 19 décembre 2008Date d'inscription 1 avril 2009 Dernière intervention - 1 avril 2009 à 14:47
0
Merci
alors.normalment ta réponse c'est la programmtion tcp sous java.jai programé la dernier fois un serveur http.avec une intreface coté serveur...come apache. mai toi ta dit que le probleme lorsque te fait inputstrem.alors je vois pa le problem bien.ce que je dit de m'envoyé en détails le probleme.merci.plus d'information a ce problem allé ici

http://www.google.com/... target='_blank'>http://www.google.com/custom?hl=fr&safe=active&client=pub-7407826053469513&channel=5921204705&cof=FORID:13%3BAH:left%3BCX:Aide%2520info%3BL:http://www.google.com/...
Commenter la réponse de ferrag
Twinuts 5278 Messages postés dimanche 4 mai 2003Date d'inscription 13 septembre 2018 Dernière intervention - 1 avril 2009 à 14:58
0
Merci
Salut,

[../auteur/FERRAG/1557761.aspx ferrag] : tu es hors sujet
[../auteur/MICKE7/864665.aspx Micke7]: donne le code que tu utilises (avec la déclaration de la méthode appelante et appelée

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
cs_Micke7 17 Messages postés jeudi 21 septembre 2006Date d'inscription 2 avril 2009 Dernière intervention - 2 avril 2009 à 09:39
0
Merci
Développant via Eclipse, les erreurs s'affichent directement et donc indépendamment de la méthode appelante (me semble t-il). Je met donc juste pour l'instant la méthode appelée, étant donné qu'elle est appelé de nombreuses fois dans mon projet.

 Méthode appelée :

public classSaveFileDataSourceQueryChooser extends FileDataSourceQueryChooser {
[...]
protectedFileChooserPanel getFileChooserPanel() {
[...]
 String adresseRaccourci = "com//vividsolutions//jump//workbench//datasource//Raccourci.lnk";
 InputStream raccourci = ClassLoader.getResourceAsStream(adresseRaccourci);
 BufferedReader br = new BufferedReader(new InputStreamReader(raccourci));
 String ligne;
 try {
      while ((ligne =br.readLine())!=null){
           System.out.println(ligne);
      }
      br.close();
 }
 catch (IOException e) {
      e.printStackTrace();
 }
[...]
}
}

Merci.
Commenter la réponse de cs_Micke7
cs_Micke7 17 Messages postés jeudi 21 septembre 2006Date d'inscription 2 avril 2009 Dernière intervention - 2 avril 2009 à 10:03
0
Merci
Mais c'est super!
Merci beaucoup!
Commenter la réponse de cs_Micke7

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.