Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fichiers de configurations

9 réponses
Avatar
Tony
Bonjour,
Dans une appli que je developpe j'utilise un fichier de configuration
properties, aucun probl=E8me pour r=E9cuperer des valeurs pour des champs
"fixe". Cependant j'aimerais savoir si il exite une facon simple de
r=E9cuperer plusieur valeurs de champs sans savoir precisement combien
il y en a.
Voici un exemple pour mieux illustrer ce que je souhaite faire.
Je peu avoir 1 a n agence a mettre dans mon fichier de configuration et
je voudrais etre capable de recuperer toutes les valeurs des agences.
Un jour je peu avoir 3 agences et le lendemain 4 et le faite de mettre
une 4 eme ne pose aucun pb a mon programme.
agence.1=3Daaa
agence.2=3Dbbb
agence.3=3Dccc=20

En esperant avoir ete clair :)
A+=20
Merci.

9 réponses

Avatar
Insitu
"Tony" writes:

Bonjour,
Bonjour,


une 4 eme ne pose aucun pb a mon programme.
agence.1ªa
agence.2»b
agence.3Ìc


peut être

agenceªa,bbb,ccc

serait-il plus simple. Du coup

String[] agences = props.get("agence").split(",");

insitu.

Avatar
Tony
Hum c'est pas bete du tout, me demande comment j'y ai pas pensé :)
Lundi c'est toujours une journée difficile.
Merci a+


"Tony" writes:

Bonjour,
Bonjour,


une 4 eme ne pose aucun pb a mon programme.
agence.1ªa
agence.2»b
agence.3Ìc


peut être

agenceªa,bbb,ccc

serait-il plus simple. Du coup

String[] agences = props.get("agence").split(",");

insitu.



Avatar
Insitu
"Tony" writes:

Hum c'est pas bete du tout, me demande comment j'y ai pas pensé :)


Pourquoi faire simple quand on peut faire compliqué :-)) C'est ma
devise.

insitu.

Avatar
David JOURAND
Bonjour,

une 4 eme ne pose aucun pb a mon programme.
agence.1ªa
agence.2»b
agence.3Ìc


peut être

agenceªa,bbb,ccc

serait-il plus simple. Du coup

String[] agences = props.get("agence").split(",");


Pour ma part, je fais une boucle :

i=1;
while(props.get("agence"+i) != null) {
// faire ce qui va bien...
i++;
}

--
David Jourand


Avatar
Insitu
David JOURAND writes:


Pour ma part, je fais une boucle :

i=1;
while(props.get("agence"+i) != null) {


C'est pas dramatique dans le cas présent, mais cela est rarement
conseillé car il y a beaucoup trop de "coûts cachés" dans cette
opération: une création de chaîne plus une création de StringBuffer
plus les conversions d'entiers en chaines par tour de boucle....

// faire ce qui va bien...
i++;
}



insitu.

Avatar
David JOURAND
Pour ma part, je fais une boucle :

i=1;
while(props.get("agence"+i) != null) {


C'est pas dramatique dans le cas présent


Je réponds dans le cas présent...


mais cela est rarement conseillé car il y a beaucoup trop de "coûts
cachés" dans cette opération: une création de chaîne plus une
création de StringBuffer plus les conversions d'entiers en chaines par
tour de boucle....

// faire ce qui va bien...
i++;
}
}



Effectivement, quand les performances ou l'occupation mémoire sont
importantes, mais dans le cas présent (configuration avec quelques
agences), cela ne doit pas poser de problème.

--
David Jourand


Avatar
David
Le Mon, 10 Jul 2006 06:34:35 -0700, Tony a écrit :

Bonjour,
Dans une appli que je developpe j'utilise un fichier de configuration
properties, aucun problème pour récuperer des valeurs pour des champs
"fixe". Cependant j'aimerais savoir si il exite une facon simple de
récuperer plusieur valeurs de champs sans savoir precisement combien il y
en a.
Voici un exemple pour mieux illustrer ce que je souhaite faire. Je peu
avoir 1 a n agence a mettre dans mon fichier de configuration et je
voudrais etre capable de recuperer toutes les valeurs des agences. Un jour
je peu avoir 3 agences et le lendemain 4 et le faite de mettre une 4 eme
ne pose aucun pb a mon programme. agence.1ªa
agence.2»b
agence.3Ìc



Passe le en XML et utilise common-digester pour le lire.

Avatar
cilovie
Ou encore plus simple.
http://xstream.codehaus.org/tutorial.html

Avec un objet Agence, tu pourrais avoir un fichier de conf comme celà :

<agences>
<agence>
<id></id>
<name></name>
</agence>
</agences>

C'est quand même bien de pas faire tout celà soit même et surtout de
récupérer des objets.





Bonjour,
Dans une appli que je developpe j'utilise un fichier de configuration
properties, aucun problème pour récuperer des valeurs pour des champs
"fixe". Cependant j'aimerais savoir si il exite une facon simple de
récuperer plusieur valeurs de champs sans savoir precisement combien il y
en a.
Voici un exemple pour mieux illustrer ce que je souhaite faire. Je peu
avoir 1 a n agence a mettre dans mon fichier de configuration et je
voudrais etre capable de recuperer toutes les valeurs des agences. Un jour
je peu avoir 3 agences et le lendemain 4 et le faite de mettre une 4 eme
ne pose aucun pb a mon programme. agence.1ªa
agence.2»b
agence.3Ìc



Passe le en XML et utilise common-digester pour le lire.



Avatar
Thibaut
Bonjour,

une 4 eme ne pose aucun pb a mon programme.
agence.1ªa
agence.2»b
agence.3Ìc
peut être


agenceªa,bbb,ccc

serait-il plus simple. Du coup

String[] agences = props.get("agence").split(",");


Pour ma part, je fais une boucle :

i=1;
while(props.get("agence"+i) != null) {
// faire ce qui va bien...
i++;
}

je fais qq chose d'assez proche : j'ai l'habitude dans ce genre de cas

de creer une propriete supplementaire du style
agence.count=4
agence.1 agence.2 etc ...

la solution avec le split peut etre preferable si tu es capable d'etre
sur que tes valeurs (aaa, bbb etc) ne contiendront pas le caractere avec
lequel tu split :)

Le cote performances meme si dans l'absolu la remarque est justifiée, me
parait peu pertinent dans le cas de la lecture d'un fichier de
configuration (qui a priori devrait etre lu une fois par lancement de
l'application, guere plus)