Bonjour, je souhaiterais savoir :
- quel type de fichier properties il faut utiliser normal, xml ?
- comment faire un fichier properties dynamique, pour enregistrer les préferences d'un utilisateur
merci
Bonjour, je souhaiterais savoir :
- quel type de fichier properties il faut utiliser normal, xml ?
- comment faire un fichier properties dynamique, pour enregistrer les préferences d'un utilisateur
merci
Je n'utilise que des normaux mais cela vient du fait que j'ai commence a utiliser les Properties bien avant que le format XML ne soit dispo. Mise a part que les fichier XML sont probablement plus gros (car plus verbeux) je ne crois pas qu'il y ait reellement de differences a l'usage.
Soit :
- tu etends la classe Properties et tu appelle store() des qu'une valeur est modifiee par l'utilisateur.
- tu ne passe pas par les Properties mais tu utilises plutot l'API Preferences (qui est justement faite pour stocker les preferences utilisateur) qui stocke ce genre d'information de maniere dependante du systeme (base de registre sur Windows, fichier XML dans une arborescence cachee sous UNIX).
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
La solution la plus simple à ta question c'est Apache Commons Configuration (http://jakarta.apache.org/commons/configuration/) : cette librairie implémente tout ce dont tu as besoin:
- choix entre fichier à plat (format properties) ou xml : seul le format du fichier change
- enregistrement des modifications
- rechargement à chaud
et plein d'autres fonctionnalités très utiles, alors pourquoi se fatiguer![]()
D'autant que si tu commences avec des fichiers à plat puis que tu veuilles passer à du XML, il n'y a pas plus de 2 lignes à changer
Jacques Desmazières
Pourrais-tu préciser quelle méthode de quelle classe utiliser pour enregistrer et lire des paramètres dans un fichier ini stp. Car il y en a pas mal et j'ai un peu de peine là![]()
Pour les fichiers properties: PropertiesConfiguration (même si l'extension n'est pas properties mais que le format correspond), et pour les fichiers XML: XMLPropertiesConfiguration ou XMLConfiguration en fonction de la structure.
Sinon tu peux passer par une factory en définissant le ou les fichiers à lire dans une fichier de configuration en XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ConfigurationFactory factory = new ConfigurationFactory("config.xml"); Configuration config = factory.getConfiguration();(extrait de la doc Apache : Mixing Configuration Sources
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?xml version="1.0" encoding="ISO-8859-1" ?> <configuration> <system/> <properties fileName="application.properties"/> </configuration>
Jacques Desmazières
Merci de vos réponses, je vais utiliser Apache Commons Configuration.
J'ai en fait une question liée aux fichiers properties, comment et ou stocker les mots de passe pour une connexion à une base de données ?
merci
Hello,Envoyé par bouye
Je ne trouve pas l'implémentation Unix. J'aimerais m'en inspirer pour le faire comme ça sous Windows aussi. Une idée ?
L'API fait partie de la JVM depuis Java 1.4 voir package java.util.prefs. L'endroit ou se fait le stockage est dependant du systeme et n'est pas manipulable directement par le programmeur :
Sous Windows le stockage se fait dans :
- HKEY_CURRENT_USER/Software/JavaSoft/Prefs/ pour le noeud utilisateur
- HKEY_LOCAL_MACHINE/Software/JavaSoft/Prefs/ pour le noeud systeme
Sous UN*X le stockage se fait dans :
- ~/.java/.userPrefs pour le noeud utilisateur
- /etc/.java/.systemPrefs/ pour le noeud systeme
Pour les autres platformes faire des tests et lire la doc de la JVM appropriee.
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Partager