Duvida sobre Properties

5 respostas
D

Olá pessoal,

Existe a possibilidade de adicionar multiplos conjuntos de valores em um mesmo Properties?

Exemplificando o que eu quis dizer acima seria algo do tipo no meu arquivo .properties:

nome=Daniel
idade=20
cidade=Cuiaba

nome=Vanessa
idade=21
cidade=Sao Paulo

Isso é possivel? Como eu acesso esses valores na aplicação?

Os exemplos que vi na internet, sempre aparecia uma unica vez cada um dos atributos. No caso que eu citei, eu teria varias pessoas com os tres atributos aparecendo sempre, ou seja, seriam varios nomes, varias idades, varias cidades, cada um fazendo parte do seu grupo (a cidade cuiabá é para Daniel, a idade 21 é da Vanessa)… Nesse caso, eu nao posso simplesmente fazer:

properties.getProperty("nome");

Posso?

Existe alguma forma diferente de armazenar isso no arquivo? Como acessar os dados?

Espero que alguem possa me ajudar…

Agradeço desde já,
DanielSR

5 Respostas

bcartaxo

Kra… td em programação tem sua picuinhas, mas acredito q não, não pode. E vou te dizer pq. Properties é uma classe q herda de HashTable, portanto implementa a interface Map, isso implica q ela tem q ter um comportamento de Map, e um Map não permite elementos com chaves repetidas, ai está a explicação. Como disse eu nunca li sobre isso, mas pelo q sei de Map, e q Properties implementa Map, tirei essa conclusão, mas acho q seja isso mesmo.

Abraço

andreiribas

da pra fazer uma gambiarra...
tipo.. se você sabe a quantidade de registros, pode fazer:

nome1=Daniel
 idade1=20
 cidade1=Cuiaba
 
 nome2=Vanessa
 idade2=21
 cidade2=Sao Paulo
e pegar isso num for:
for(int i =1 i <= tamanho; i++) {
     var nome1 = properties.getProperty("nome" + i);
}

pog na veia

D

Realmente bcartaxo, o que voce disse faz sentido!

andreiribas, obrigado pela sugestão do “jetinho” vou ver se consigo aplicar! As vezes o POG é valido! :slight_smile:

Grato pela ajuda!!

furutani

Olá

DanielSR:
Olá pessoal,

Existe a possibilidade de adicionar multiplos conjuntos de valores em um mesmo Properties?

Exemplificando o que eu quis dizer acima seria algo do tipo no meu arquivo .properties:

nome=Daniel
idade=20
cidade=Cuiaba

nome=Vanessa
idade=21
cidade=Sao Paulo

Isso é possivel? Como eu acesso esses valores na aplicação?


Isso não é possivel. As chaves devem ser unicas.
No seu caso recomendo o uso de XML.

peron

Arquivos INI também são uma saída, apesar de eu também gostar mais de XML, porque você pode usar um XStream e abstrair toda uma implementação, contudo, é mais uma saida.

O arquivo ficaria:

[PROFILE00]
 nome=Daniel
 idade=20
 cidade=Cuiaba
 
[PROFILE01]
 nome=Vanessa
 idade=21
 cidade=Sao Paulo

A classe que manipula isso você pode encontrar aqui:
http://www.codeproject.com/useritems/INIFile.asp

tem exemplos ali também.

aTT

Criado 8 de julho de 2007
Ultima resposta 8 de jul. de 2007
Respostas 5
Participantes 5