[java] lire des fichiers dans un jar

lire des fichiers dans un jar [java] - Java - Programmation

Marsh Posté le 26-06-2002 à 16:16:50    

comment je peux faire pour lire un fichier qui est dans un jar. Le pb, c'est que je veux chargé un fichier XML, mais il doit être dans un jar, pas directement dans un repertoire...


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 26-06-2002 à 16:16:50   

Reply

Marsh Posté le 26-06-2002 à 16:19:42    

depuis java ?
pacakge java.util.jar
 

Code :
  1. File j = new File("tonjarfile" );
  2. JarFile jf = new JarFile(j);
  3. ZipEntry ze = jf.getEntry("/data/xml/ress.xml" );
  4. Inpustream in = jf.getInputStream(ze);


 
et avec l'in tu peux écrire dans un fichier ou autre le contenu du stream.
 
 


Message édité par darklord le 26-06-2002 à 16:23:45

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-06-2002 à 16:24:04    

DarkLord a écrit a écrit :

depuis java ?
 




lol, oui, je me suis mal exprimé, pardon
histoire de pouvoire faire :

Code :
  1. file = new File( ??? );


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 26-06-2002 à 16:24:45    

bin voilà tu as la solution :)
 
tu veux une solution pour créer un File depuis un stream? :p


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-06-2002 à 16:26:18    

ok, parce que moi, c'est pour :

Code :
  1. SAXBuilder builder = new SAXBuilder( false );
  2. document = builder.build( file );


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 26-06-2002 à 16:27:44    

dis tu te moques de moi ?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-06-2002 à 16:29:53    

Qu'est ce qui ne te vas pas dans ma solution. Tu sais pas créer un fichier depuis un inputstream ou quoi ?????
 
 
ceci dit  SAXBuilder a aussi cette méthode là :sarcastic:  
 

Citation :


build
public Document build(java.io.InputStream in)
               throws JDOMExceptionThis builds a document from the supplied input stream.  
 
 
Parameters:
in - InputStream to read from.  
Returns:
Document - resultant Document object.  
Throws:  
JDOMException - when errors occur in parsing.
 


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-06-2002 à 16:29:59    

DarkLord a écrit a écrit :

dis tu te moques de moi ?




euh, non, mais je répond avec un message de retard... et sur le premier, tu as édité ton message


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 26-06-2002 à 16:31:07    

z0rglub a écrit a écrit :

 
euh, non, mais je répond avec un message de retard... et sur le premier, tu as édité ton message




 
oui j'avais compris je te parlais de ca
 

Citation :


ok, parce que moi, c'est pour :
 
SAXBuilder builder = new SAXBuilder( false );
document = builder.build( file );  


 
Comme si ma solution n'était pas bonne pour ca ou quoi? Je comprend pas pq tu me parles de SAXBuilder ca n'a aucun rapport !!!
 
 


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-06-2002 à 16:32:38    

DarkLord a écrit a écrit :

Comme si ma solution n'était pas bonne pour ca ou quoi? Je comprend pas pq tu me parles de SAXBuilder ca n'a aucun rapport !!!



en effet, aucun rapport... ct juste pour dire à koi me servait mon file, désolé


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 26-06-2002 à 16:32:38   

Reply

Marsh Posté le 26-06-2002 à 16:34:47    

bin voilà plus besoin de file il y a la méthode build qui prend un inputstream qui devrait te convenir :)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-06-2002 à 16:36:45    

DarkLord a écrit a écrit :

bin voilà plus besoin de file il y a la méthode build qui prend un inputstream qui devrait te convenir :)




en effet, c parfait, merci à toi


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 26-06-2002 à 16:42:37    

ah oui, mais non, en fait ça va pas juste le inputstream... parce que j'ai besoin de lfaire la liste des fichiers du répertoire... je teste l'extension pour chaque fichier et je le parse si l'extension est "xml".
Je fais des tests pour voir si je peux reproduire cela mais avec le contenu d'un jar au lieu d'une arborescence de fichier "normale"


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 26-06-2002 à 16:43:45    

z0rglub a écrit a écrit :

ah oui, mais non, en fait ça va pas juste le inputstream... parce que j'ai besoin de lfaire la liste des fichiers du répertoire...



 
bin où est le problème? Lorsque tu récupères ta ZipEntry tu fais getName() dessus et tu peux savoir si c'est un XML ou pas. Lis la Javadoc bon sang, c'est indiqué noir sur blanc !!!


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-06-2002 à 16:45:32    

DarkLord a écrit a écrit :

 
 
bin où est le problème? Lorsque tu récupères ta ZipEntry tu fais getName() dessus et tu peux savoir si c'est un XML ou pas. Lis la Javadoc bon sang, c'est indiqué noir sur blanc !!!




d'accord, j'avoue que je fais 10 trucs en même temps et tu réponds très vite, j'ai à peine ouvert la javadoc :(


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
Reply

Marsh Posté le 26-06-2002 à 16:47:35    

z0rglub a écrit a écrit :

 
d'accord, j'avoue que je fais 10 trucs en même temps et tu réponds très vite, j'ai à peine ouvert la javadoc :(




 
moi je l'aurai déjà ouverte avant de poster :o
 
et jf.entries() te permet de récupérer une enumeration de ZipEntry (tout les fichiers qu'il y a dans ton jar en fait)


Message édité par darklord le 26-06-2002 à 16:48:11

---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed