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

Java Discussion :

Comment charger une ressource non présente dans le classpath ?


Sujet :

Java

  1. #1
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut Comment charger une ressource non présente dans le classpath ?
    Salut,

    J'ai une application java qui a besoin de charger un ResourceBundle basé sur un fichier properties que je ne peux malheureusement pas mettre dans le CLASSPATH pour diverses raison que je vais vous épargner ici.

    Je cherche donc un moyen d'initialiser un ResourceBundle en lui passant le chemin physique de mon fichier properties, ou alors d'avoir un Classloader qui soit capable de charger une ressource à partir d'un chemin physique.

    Est-ce possible ? Auriez-vous un exemple sous la main ?

    Merci d'avance
    Lilian

  2. #2
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Quelque chose comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	public static ResourceBundle getResourceBundle(URL url) throws IOException {
    		InputStream in = url.openStream();
    		try {
    			return new PropertyResourceBundle(in);
    		} finally {
    			in.close();
    		}
    	}
    ???

    a++

  3. #3
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut
    Parfait, j'y suis arrivé avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    URL url = new URL( "file:///media/DISQUE_Z/monProjet/toto/Testi18n_en_us.properties" );
    InputStream in = url.openStream();
    ResourceBundle bundle = new PropertyResourceBundle( in );
    Merci beaucoup

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Ben ! Et le try/finally il est passé où !?!?!

    a++

    [edit] Et si c'est un simple fichier autant utiliser directement FileInputStream...

  5. #5
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    FileInputStream fis = new FileInputStream( "/media/DISQUE_Z/monProjet/toto/Testi18n_en_us.properties" );
    			try
    			{
    				ResourceBundle bundle = new PropertyResourceBundle( fis );
    				paramName = JRParameter.REPORT_RESOURCE_BUNDLE;
    				parameters.put( paramName, bundle );
    			}
    			finally
    			{
    				fis.close();
    			}
    C'est mieux ?

    Merci pour ta rigueur

  6. #6
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Oui c'est bien mieux

    a++

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

Discussions similaires

  1. [AC-2010] Afficher les enregistrements d'une table non présents dans une requête
    Par Mauricianstyle dans le forum Access
    Réponses: 4
    Dernier message: 24/04/2015, 14h14
  2. Réponses: 1
    Dernier message: 20/02/2014, 15h16
  3. Réponses: 7
    Dernier message: 14/08/2008, 20h40
  4. Réponses: 8
    Dernier message: 04/01/2007, 10h15
  5. [ServletContext]Charger une ressource dans la servletContext
    Par lalou33 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 25/06/2004, 14h37

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