Probleme fichier properties

Unifi Messages postés 2 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 20 avril 2011 - 20 avril 2011 à 22:32
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 21 avril 2011 à 12:19
Bonjour à tous,


Tout d'abord je me suis permis de poster cette discussion dans cette catégorie mais je ne suis pas sûr que c'est bon. Donc veuillez m'excusez si mon post est au mauvais endroit.

Alors voici, j'aimerais savoir si vous pourriez m'éclaircir sur mon petit problème, qui est :

J'ai un projet terminer en JAVA, du coup je voulais bien entendu le mettre en .jar comme tout bon projet. Seulement j'ai un soucis au niveau de mon fichier properties. je vous explique : Mon programme regarde si un fichier properties existe dans le répertoire utilisateur et si celui-ci n'existe pas, il doit utiliser celui par défault qui se trouve dans mon ".jar". Mon programme fonctionne parfaitement lorsqu'il trouve le fichier properties dans le répertoire de l'utilisateur mais si par malheur le programme devrait utiliser celui par default dans le ".jar", j'ai un message d'erreur indiquant que le fichier properties n'existe pas.

Alors ma question était, comment fait-on en java pour déclarer le chemin du fichier properties se trouvant dans le ".jar" en question ?

Je peux vous affirmer que aucune erreur de code en est la faute, juste une question d'aller pouvoir chercher le properties dans le ".jar" ...

Je vous remercie d'avance pour votre temps et votre patiente.

2 réponses

Unifi Messages postés 2 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 20 avril 2011
20 avril 2011 à 22:33
Je travail avec Linux.

Veuillez m'excusez pour le double post.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
21 avril 2011 à 12:19
Salut,

exemple dans ton jar tu as :

fichier.jar
|-META-INF
| |-des fichiers
|
|-test
| |-Test.class
| |-cfg
| | |-cfg.properties <- ton fichier.properties


Note: Pour l'exemple j'utilise un fichier cfg.properties qui contient les lignes :
key1=value1
key2=value2
key3=value3

Pour lire le fichier cfg.properties tu peux faire :

package test;

import static java.lang.System.err;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class Test {

public Test() {
// tu test si tu es en mode cfg par defaut ou non
// et si oui on passe sur cette partie du code
// récupération d'un inputstream sur le fichier qui est dans le jar
final InputStream is = getClass().getResourceAsStream(
"/test/cfg/cfg.properties"); // précise le chemin du fichier en partant de la racine
// ici j'utilise la classe properties mais tu peux utiliser ce que tu
// veux pour lire le fichier
final Properties props = new Properties();
try {
// chargement du fichier
props.load(is);
} catch (final IOException e) {
e.printStackTrace();
}
// affichage des champs
for (int i = 1; i < 4; ++i)
err.printf("le champ key%d vaut: %s\n", i,
props.getProperty("key" + i));
// fermeture du flux
try {
is.close();
} catch (final IOException e) {
e.printStackTrace();
}
}

public static void main(final String... args) {
new Test();
}
}





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

OoWORAoO
0
Rejoignez-nous