Je crée un ResourceBundle à partir d'un fichier, ce bundle contient < String, String> values.Fusionner des propriétés dans un ResourceBundle à partir de System.getProperties()
InputStream in = getClass().getResourceAsStream("SQL.properties");
properties = new PropertyResourceBundle(in);
in.close();
Je voudrais ajouter/remplacer sur cet ensemble des propriétés que je passe de la ligne de commande à l'aide -Dsome.option.val.NAME1 = HiEarth
Je me fous déverser l'ancien paquet et en créer un nouveau à la place.
Pourriez-vous s'il vous plaît un conseil?
Je pense que ce que je dois faire est:
- Créer à partir du paquet HashMap < String, String>
- Remplacer les valeurs.
- Transformez la HashMap en un InputStream. // C'est la partie compliquée ...
- Construis le nouveau paquet à partir de ça.
+1. Je voudrais ajouter une note de prudence cependant. 'Properties.list()' * tronque * les valeurs> 40 caractères (voir le rapport de bogue: http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=e527dbe27619a23e918ce485c961?bug_id=5089823). Pensez à utiliser 'Properties.store()' à la place. –