Comment faire pour convertir toutes les Propriétés Système Java pour HashMap<String,String>?
Ce l'article de nice nous montre comment faire pour l'impression de toutes les propriétés système en cours sur la sortie standard, mais j'ai besoin de convertir tout ce qui est dans System.getProperties()
à un HashMap<String,String>
.
Donc si il y a un système de propriété appelée "baconator", avec une valeur de "oui!", que j'ai mis avec System.setProperty("baconator, "yes!")
, alors je veux le HashMap
avoir une clé de baconator
et d'une valeur respective de yes!
, etc. Même idée pour tous propriétés système.
J'ai essayé ceci:
Properties systemProperties = System.getProperties();
for(String propertyName : systemProperties.keySet())
;
Mais alors obtiens une erreur:
Incompatibilité de Type: impossible de convertir de l'élément Objet de type String
Alors j'ai essayé:
Properties systemProperties = System.getProperties();
for(String propertyName : (String)systemProperties.keySet())
;
Et j'obtiens cette erreur:
Ne peut itérer sur un tableau ou d'une instance de java.lang.Itérable
Des idées?
OriginalL'auteur | 2013-06-26
Vous devez vous connecter pour publier un commentaire.
J'ai fait un test de l'échantillon à l'aide de
Map.Entry
Pour votre cas, vous pouvez l'utiliser pour stocker dans votre
Map<String, String>
:OriginalL'auteur Luiggi Mendoza
Boucle sur le
Set<String>
(qui estIterable
) qui est renvoyée par lastringPropertyNames()
méthode. Lors du traitement de chaque nom de propriété, de l'utilisationgetProperty
pour obtenir la valeur de la propriété. Ensuite, vous avez les informations nécessaires pourput
vos valeurs de propriété dans votreHashMap
.OriginalL'auteur rgettman
Ce n'travail
OriginalL'auteur darijan
Soit vous pouvez utiliser le
entrySet()
méthode deProperties
pour obtenir unEntry
type deProperties
qui estIterable
ou vous pouvez utiliser lastringPropertyNames()
méthode de laProperties
classe pour obtenir uneSet
de clés dans cette liste de propriétés. L'utilisation de lagetProperty
méthode pour obtenir la valeur de la propriété.OriginalL'auteur JHS
Depuis Java 8, vous pouvez taper ce -plutôt long one-liner:
OriginalL'auteur Agustí Sánchez