begin process at 2010 02 09 19:03:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Utiliser des images ou fichier txt avec un jar exécutable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utiliser des images ou fichier txt avec un jar exécutable

mercredi 30 août 2006 à 02:09:54 | Utiliser des images ou fichier txt avec un jar exécutable

bourgi220

Bonjour,
Je me suis déjà beaucoup documenté sur les jar exécutables, j'ai notamment lu ce sujet: http://www.javafr.com/infomsg_CR-233-ER-FICHIER-JAR-EXECUTABLE_141476.aspx

On y explique notamment comment se servir d'images avec un jar exécutable. Mais j'ai essayé et peut etre que je m'y prend mal mais ça marche pas.

En gros voilà mon problème:
J'ai fait un programme qui utilise une image qui est dans le meme dossier (à la racine) que le programme. En dehors du jar ça fonctionne évidemment. Mais quand je tente d'utiliser le jar exécutable, il ne trouve pas l'image.

Que dois-je mettre exactement dans mon class-path si mon image s'appelle ah.jpg.

Encore une question, j'ai surement mal compris mais quand je lis ceci: http://java.developpez.com/faq/java/?page=execution
il me semble comprendre que l'on doit mettre les fichiers qu'on utilise (mon image en l'occurence) dans un fichier jar?? j'ai également essayé mais ça n'a pas marché chez moi. j'ai mis mon image dans un fichier jar puis dans mon manifest j'ai mis: "Class-Path: ./archive.jar" mais ça na pas marché non plus.

Aidez moi svp...

@+

mercredi 30 août 2006 à 07:57:14 | Re : Utiliser des images ou fichier txt avec un jar exécutable

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
J'ai pas trop bien compris ton problème : tu utilise des images en dehors de ton jar, ou à l'intérieur de celui-ci ?



mercredi 30 août 2006 à 09:40:34 | Re : Utiliser des images ou fichier txt avec un jar exécutable

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

Pour les deux solutions ci-dessous ce que tu fais dans le manifest est innutile

1 - si tu mets des images dans un jar externe il te faut le voir comme un gros ZIP et recupéré dynamiquement les images dedans ce qui en soit n'est franchement pas complex à réaliser, il y a quelques exemples dessus sur le net!

2 - si tu le met dans le meme jar que celui contenant tes classes voici un exemple (ne met jamais de \ pour séparer un chemin vu qu'il est assimilable à une URL)
exemple admettons le jar toto.jar et dedans tu as les répertoires suivant  images/png/ contenant l'image toto.png

toto.jar
  |
  ------->images
                |
                ------->png
                             |
                             ------->toto.png

dans ton code tu devra proceder comme suit pour une methode non static :
URL url = getClass().getClassLoader().getResource("images/png/toto.png");
Image img = Toolkit.getDefaultToolkit().createImage(url);

et pour une classe static :
URL url = NomDeLaClasseCourrante.class.getClassLoader().getResource("images/png/toto.png");
Image img = Toolkit.getDefaultToolkit().createImage(url);

sinon tu peux passer par le system :
URL url = ClassLoader.getSystemClassLoader().getResource("images/png/toto.png");
Image img = Toolkit.getDefaultToolkit().createImage(url);

NOTE:
si tu veux récuperer un fichier se trouvant dans ton jar il ne faut pas passer par getResource mais par getResourceAsStream

exemple pour le fichier toto.txt se trouvant dans le répèrtoire fichiers/texte de ton jar toto.jar
toto.jar
  |
  ------->fichiers
                |
                ------->texte
                             |
                             ------->toto.txt

dans ton code tu devra proceder comme suit pour une methode non static :
InputStream is = getClass().getClassLoader().getResourceAsStream("fichiers/texte/toto.txt");

et pour une classe static :
InputStream is = NomDeLaClasseCourrante.class.getClassLoader().getResourceAsStream("fichiers/texte/toto.txt");

sinon tu peux passer par le system :
InputStream is =  ClassLoader.getSystemClassLoader().getResourceAsStream("fichiers/texte/toto.txt");

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

WORA
mercredi 30 août 2006 à 20:41:23 | Re : Utiliser des images ou fichier txt avec un jar exécutable

bourgi220

merci beaucoup pour ta réponse... ça marche nickel maintenant!

Mais je rencontre un nouveau problème, je n'arrive pas à écrire dans un fichier txt qui est dans mon jar... j'ai fait des recherches qui disent que c'est impossible... est-ce vrai?

@+ et encore merci!

mercredi 30 août 2006 à 20:51:59 | Re : Utiliser des images ou fichier txt avec un jar exécutable

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

ton fichier et dans un jar qui est assimilable a un zip normalement tu peux le modifier mais faut le faire en plusieurs etapes :

1 - tu recupere le contenu
2 - tu modifie le contenu en memoire
3 - tu update le jar(regarde avec la class ZIP)

mais je ne pense pas que cela soit possible si le jar est celui qui contient ton application


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

WORA
mercredi 30 août 2006 à 20:54:38 | Re : Utiliser des images ou fichier txt avec un jar exécutable

bourgi220

mais si la situation est la suivante:
le jar est dans le dossier "application/monjar.jar"
mon fichier txt est dans le mm dossier: "application/montxt.txt"

A partir de ce moment comment puis-je faire pour modifier montxt.txt à partir de monjar.jar??

encore merci ;-) @+

mercredi 30 août 2006 à 21:03:33 | Re : Utiliser des images ou fichier txt avec un jar exécutable

Twinuts

Membre Club Administrateur CodeS-SourceS
Donc il n'est pas dans ton jar?


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

WORA
mercredi 30 août 2006 à 21:21:15 | Re : Utiliser des images ou fichier txt avec un jar exécutable

bourgi220

non en fait ça ne me pose pas de problème de ne pas le mettre dans mon jar...
mercredi 30 août 2006 à 21:23:16 | Re : Utiliser des images ou fichier txt avec un jar exécutable

Twinuts

Membre Club Administrateur CodeS-SourceS

si il n'est pas dans ton jar une simple modification de fichier suffit

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

WORA
mercredi 30 août 2006 à 21:53:45 | Re : Utiliser des images ou fichier txt avec un jar exécutable

bourgi220

non hélas ça ne marche pas...

mon fichier saving.dat est dans le meme dossier que mon jar et avec ce code ça ne marche pas:

                FileWriter fw = new FileWriter("saving.dat");
                BufferedWriter bw = new BufferedWriter(fw);
                PrintWriter outFile = new PrintWriter(bw);

Alors que dois-je mettre?


1 2

Cette discussion est classée dans : fichier, image, utiliser, jar, exécutable


Répondre à ce message

Sujets en rapport avec ce message

SOS URGENT, Problème lors de la création d'un jar exécutable [ par FunkyJulius ] Tout d'abord bonjour, Voilà, j'ai créer une petite applic, un jeu de Black Jack. Quand je l'éxécute sous eclipse, pas de problème, tout ce passe com exécutable jar plus lent que eclipse [ par yyyx ] Bonjour à tous !Je viens de créer une petite application java qui, à partir d'un fichier xls me renvoie les données dans un csv et les en-têtes de col Récupérer un fichier texte d'un JAR [ par Mede12 ] Bonjour, J'ai un petit problème pour récupérer un fichier texte qui se trouve dans un JAR(avec du code). J'ai regardé pas mal de post, la plus part di comment créer un fichier.JAR ? [ par PCBill ] Bonjour,Comment pourrait-on créer un exécutable en java sous forme executable.JAR ?Merci. faire un jar + informations sur fatjar [ par fraisa1985 ] Je vais faire un jar executable pour mon projet qui  utilise encore des jar , Comment faire exactement.J'ai trouvé dans le forum une conseil d'utilise OutputStream [ par djaouida27 ] salut !j'ai un pb de Bufferedouputstream, j'ai decoupe une image en 4 morceaux et je veux enregistrer chaque portion dans un fichier image, pour cela comment installer JFreeChart sous linux si c'est possible??? [ par Meriem85 ] Salut, Je developpe une application java sous linux avec eclipse. dans mon code je genere des statistiques et je les enregistre ds un fichier. Dans l' ecrire une image dans un fichier XML [ par aliahmad ] salutj'ai une image dans un JLabel comment je pe la parser et la mettre dans un fichier xml???,,, j'ai deja recuperé de données depuis un Jtextfiel et appel methode [ par djaouida27 ] salut!je fais une classe deviser qui contient une metode pour deviser une image en 4, voila le code du 1er morceau:img1 = new BufferedImage(w,h, Buffe coder une Image [ par aliahmad ] salutpublic static void decoderImage(String image,String fichier) throws Exception {    byte[] buffer = Base64.decode(image);    writeFile(buffer,fich


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales