resourceBundle.getStringArray et les fichiers properties

resourceBundle.getStringArray et les fichiers properties - Java - Programmation

Marsh Posté le 15-11-2005 à 18:37:45    

J'utilise un resource bundle pour lire des fichiers *.properties pour une application web.
J'aimerais à la lecture d'une propriété, transformer le résultat directement en String[] (pour le moment j'utilise un StringTokenizer sur la propriété récupérée via un bête getString("mapropriete" ) de ResourceBundle.  
 
Il me semble que resourceBundle.getStringArray() fasse cela, mais je ne parviens pas à trouver la syntaxe à adopter  
dans le fichier properties pour utiliser cette fonction. Quelqu un aurait il déjà utilisé cette fonction?
 [:prettysmile]  [:prettysmile]  
 

Reply

Marsh Posté le 15-11-2005 à 18:37:45   

Reply

Marsh Posté le 15-11-2005 à 18:39:17    

truc=valeur1
truc=valeur2
truc=valeur3
 
 
... non ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-11-2005 à 18:50:57    

Code :
  1. ResourceBundle.getBundle("MyResources" ).getStringArray;


le fichier MyResources.properties suit le format des Properties

Code :
  1. clef=valeur
  2. ...



---------------
The Million Dollar Screenshot  (seo v7ndotcom elursrebmem paesys wifi)
Reply

Marsh Posté le 15-11-2005 à 19:30:29    

the real moins moins a écrit :

truc=valeur1
truc=valeur2
truc=valeur3
... non ?


 
ClassCastException, helas

Reply

Marsh Posté le 15-11-2005 à 19:52:44    

gni ?
quand, ou ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-11-2005 à 20:07:42    

sur le getStringArray,
la trace indique une classCastException sur getStringArray(unknownSource) (je collerai bien la trace mais là je suis rentrée, pas emmené la chose avec moi)
si je me contente dun getString sur la meme source, cela passe.

Reply

Marsh Posté le 15-11-2005 à 20:18:35    

boh, j'ai plus les sources, mais il fait un bete cast dans l'impl par defaut sur la valeur renvoyée par getObject (ou handleGetObject), et probablement que PropertyRB ne stocke qu'une map string>string [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-11-2005 à 20:19:08    

(tjs mater les sources de la jdk, on apprend plein de trucs :o
 
 


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-11-2005 à 20:55:14    

j ai vu et tenté le getObject, pas mieux c est pour ça que je pensais à un pb dans la syntaxe de mon properties

Reply

Marsh Posté le 15-11-2005 à 21:12:48    

mais non, c'est juste que le PropertyRB n'a rien pour supporter les array à la base. lis les sources pour confirmation


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-11-2005 à 21:12:48   

Reply

Marsh Posté le 27-11-2006 à 22:41:11    

pareil quand je fait le getStringArray qui me balance une exception :
Exception in thread "main" java.lang.ClassCastException: java.lang.String
 at java.util.ResourceBundle.getStringArray(ResourceBundle.java:302)
 at fr.umlv.googlecalendar.GridCalendar.<init>(GridCalendar.java:67)
 at fr.umlv.googlecalendar.GoogleCalendar.main(GoogleCalendar.java:29)
 
Bizarre ca quand meme

Reply

Marsh Posté le 01-12-2006 à 23:23:39    

nous sommes tous sur cette méthode:
http://java.sun.com/j2se/1.5.0/doc [...] ng.String)??

Reply

Marsh Posté le 24-10-2008 à 14:07:14    

Bonjour les gens,
 
Je participe un peu tard à la discussion mais peut-être que ma réponse peut aider qqn.
 
ktulu77666, si tu trouves une exeption ClassCastException, c'est que l'objet pointé par la clé n'est pas un StringArray (voir : http://java.sun.com/j2se/1.5.0/doc [...] ng.String )
 
Voilà le code que j'utilise :
 
private final static ResourceBundle sophia = ResourceBundle.getBundle(BundleConstantes.Caisse_Sophia);
String listeSophia[] = sophia.getString("CAISSES" ).split(";" );

 
dans mon fichier properties :
 
CAISSES=721;451;631;931;311;651;811;091;061
 
Et ça marche !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed