Comment acceder à mon fichier properties

Résolu
cs_byob
Messages postés
35
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
15 décembre 2008
- 1 sept. 2008 à 11:57
Twinuts
Messages postés
5373
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 août 2022
- 1 sept. 2008 à 14:07
Bonjour,

j'ai une petite question toute bête. J'ai mis mon fichier properties dans un package  :
com.dcl.data.config

ma classe qui doit recup les properties est dans le package : com.dcl.data.core

et quand je fais :

Properties proprietes = new Properties();
        try {
            FileInputStream path = new FileInputStream("com/dcl/data/config/MonFichier.properties");
            proprietes.load(path);
            path.close();
        } catch (IOException e) {
        }
        return proprietes;

ça ne marche pas.

Avant j'utilisais Eclipse je mettais le properties à la racine de mes packages et c'etait ok.
Là je suis dans une appli web avec netBeans.
J'ai besoin d'aide...
Merci

4 réponses

cs_byob
Messages postés
35
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
15 décembre 2008

1 sept. 2008 à 13:32
je me suis inspirée de ta reponse et d'autre truc s que j'ai trouvé et j'ai fait ça et ça marche :

public Properties getPropsFile(String propsFileName ) {
        Properties prop = new Properties();
        URL myURL = this.getClass().getClassLoader().getResource(propsFileName);
        try{
        if (myURL != null) {
            prop.load(myURL.openStream());
        }
        }catch(Exception e){
           
        }
         return prop;
    }

Appel : new fonction().getPropsFile("com/dcl/data/config/MonFichier.properties");

Merci pour tout
3
Twinuts
Messages postés
5373
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 août 2022
111
1 sept. 2008 à 12:57
Salut,

si le fichier est dans le jar de ton application (ce qui semble être le cas vu le chemin) tu dois faire comme suit :

public Properties getPropsFile(final String propsFileName) throws IOException {
  final InputStream propsURL = instance.getClass().getResourceAsStream(propsFileName);
  final Properties props = new Properties();
  props.load(propsURL);
  return props;
}
...
final Properties props = getPropsFile("com/dcl/data/config/MonFichier.properties");
...

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

OoWORAoO
0
cs_byob
Messages postés
35
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
15 décembre 2008

1 sept. 2008 à 13:08
Instance c'est quoi?

merci pour ta reponse
0
Twinuts
Messages postés
5373
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 août 2022
111
1 sept. 2008 à 14:07
Salut,

dsl j'ai zapé le getInstance .... tien la classe complète (trouvable ICI)

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Properties;

import javax.imageio.ImageIO;

/*
* Created on Nov 17, 2006
*
*/

public class ResourceLocator {
private static ResourceLocator instance;

private ResourceLocator() {
}

public static ResourceLocator getInstance() {
if (instance == null)
instance = new ResourceLocator();
return instance;
}

public BufferedImage getImage(String imageFileName) throws IOException {
InputStream imageURL = instance.getClass().getResourceAsStream(imageFileName);
BufferedImage image = ImageIO.read(imageURL);
return image;
}

public Properties getPropsFile(String propsFileName) throws IOException {
InputStream propsURL = instance.getClass().getResourceAsStream(propsFileName);
Properties props = new Properties();
props.load(propsURL);
return props;
}

public File getFile(String fileName){
File file= null;
URL url = instance.getClass().getResource(fileName);
file = new File(url.getFile());
return file;
}

}

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

OoWORAoO
0