IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Ressource d'un jar et InputStream


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 79
    Par défaut Ressource d'un jar et InputStream
    Bonjour,

    Je recherche de l'aide sur un point précis. L'accès aux ressources d'un Jar.

    J'ai un programme JAVA dans lequel j'intègre un fichier ZIP.

    Ce zip est donc une ressource de mon JAR.

    Je le récupère dans un InputStream de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String zipFile = "MonFichier.zip"
    InputStream is = MaClasse.class.getClassLoader().getResourceAsStream(zipfile);
    Jusque la pas de problème.

    Ensuite je voudrais tout simplement extraire le zip de mon Jar, pour le déposer dans un répertoire précis du poste d'exécution.(un sous répertoire où ce situe mon application)

    Mais je n'y arrive pas. J'ai essayé à base ZipEntry ZipInputStream, ... mais sans succès.

    Je pense que je suis sur les bons rails avec les ZipEntry, ... mais il me manque un petit qqchose.

    Merci d'avance à vous

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 31
    Par défaut
    Salut,

    Je pense que ca pourrait te donner des idées :

    http://www.rgagnon.com/javadetails/java-0429.html

    Dans leur source ils recuperent le chemin à l'aide de getSource, peut etre que dans ton cas un MaClasse.class.getClassLoader().getResource(chemin) suffira.

    Cordialement,

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu veux faire quoi exactement ?
    Décompresser le fichier ZIP ou simplement le sortir du JAR ?

    a++

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 79
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,


    Tu veux faire quoi exactement ?
    Décompresser le fichier ZIP ou simplement le sortir du JAR ?

    a++
    Merci de vos réponses.

    Je veux simplement le sortir du jar

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Ben alors il suffit de lire l'OutputStream et de le recopier là où tu veux.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    	InputStream is = Main.class.getClassLoader().getResourceAsStream(zipfile);
    	try {
    		OutputStream out = new FileOutputStream("emplacement_du_fichier");
    		try {
    			byte[] buf = new byte[8192]; // buffer de copie
    			int len;
     
    			while ( (len=is.read(buf)) >= 0 ) {
    				out.write(buf, 0, len);
    			}
    		} finally {
    			out.close();
    		}
    	} finally {
    		is.close();
    	}
    a++

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 79
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Ben alors il suffit de lire l'OutputStream et de le recopier là où tu veux.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    	InputStream is = Main.class.getClassLoader().getResourceAsStream(zipfile);
    	try {
    		OutputStream out = new FileOutputStream("emplacement_du_fichier");
    		try {
    			byte[] buf = new byte[8192]; // buffer de copie
    			int len;
     
    			while ( (len=is.read(buf)) >= 0 ) {
    				out.write(buf, 0, len);
    			}
    		} finally {
    			out.close();
    		}
    	} finally {
    		is.close();
    	}
    a++
    Merci ça fonctionne...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ressources dans un jar
    Par Nemix dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 18/06/2008, 15h01
  2. Ajouter une ressource dans un JAR
    Par FabaCoeur dans le forum Java ME
    Réponses: 2
    Dernier message: 21/02/2008, 13h34
  3. Ressources autre que jar
    Par Vikisme dans le forum JWS
    Réponses: 2
    Dernier message: 22/06/2007, 17h56
  4. ressource dans le jar de mon appli
    Par laclac dans le forum Langage
    Réponses: 4
    Dernier message: 18/04/2007, 16h36
  5. [Jar]liste ressources d'un jar pendant execution
    Par maxidoove dans le forum Général Java
    Réponses: 4
    Dernier message: 10/05/2004, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo