Comment lire un fichier texte dans un jar ?

Résolu
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 2 avril 2009 - 1 avril 2009 à 11:13
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 2 avril 2009 - 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.

5 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
2 avril 2009 à 09:59
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
3
ferrag Messages postés 5 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 avril 2009
1 avril 2009 à 14:47
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/...
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
1 avril 2009 à 14:58
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
0
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 2 avril 2009
2 avril 2009 à 09:39
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 2 avril 2009
2 avril 2009 à 10:03
Mais c'est super!
Merci beaucoup!
0
Rejoignez-nous