Bonjour,

Suite à un problème d'internationalisation (http://www.developpez.net/forums/sho...83#post1557683),
je me suis penché sur les ResourceBundle et les Properties d'un peu plus près.

Jusqu'à présent lorsque j'avais besoin de récupérer une chaine dans un fichier properties je le faisais de la manière suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
String message = "";
ResourceBundle helloWorldResourceBundle = ResourceBundle.getBundle("Ressources.helloWorld");
try{
  message = helloWorldResourceBundle.getString("firstWords");
}catch( Exception e){
  message = "I don't know what to say!";
}
System.out.println(message);
Mais apparement on peut aussi le faire ainsi:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
String message = "";
try{
  Properties helloWorldProperties = new Properties();
  FileInputStream tmpFile = new FileInputStream("helloWorld.properties");
  helloWorldProperties.load(tmpFile);
  message = helloWorldProperties.getProperty("firstWords");
}catch( Exception e){
  message = "I don't know what to say!";
}
System.out.println(message);
Ce qui m'a l'air d'être a peu de chose près équivalent à ce que je faisais avant, en un peu moins ramassé.
Par contre, si je veux utiliser un fichier XML à la place d'un fichier properties, il ne semble y avoir que l'option de passer par la classe properties:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
String message = "";
try{
  Properties helloWorldProperties = new Properties();
  FileInputStream tmpFile = new FileInputStream("helloWorld.xml");
  helloWorldProperties.loadFromXML(tmpFile);
  message = helloWorldProperties.getProperty("firstWords");
}catch( Exception e){
  message = "I don't know what to say!";
}
System.out.println(message);
Avant de basculer tout mon appli de "fichiers properties" vers "fichiers XML" (pour des raisons de compatibilité UTF-8), je voudrai m'assurer que rien ne m'a échappé.
Si c'est le cas, merci de me prévenir.

Je vais attendre un peu avant de me lancer dans la migration...

sources: http://www-128.ibm.com/developerwork...On-JDK_5.0-XML