web-dev-qa-db-fra.com

Comment écrire plusieurs valeurs de propriété de ligne en utilisant PropertiesConfiguration?

J'ai un fichier de propriétés avec une propriété avec une valeur de liste (séparés par des virgules), comment écrire cette propriété dans une multi-ligne? (barre oblique inverse après la virgule)?

Je ne trouve rien à ce sujet ou du moins à propos d'échapper virgule en virgule et barre oblique inverse.

82
Uhkkgjhfjf Jgkjkhj

Si vous voulez dire ce qui suit: cela repose simplement sur une barre oblique inverse + fin de ligne. Je viens de le trouver documenté dans: http://docs.Oracle.com/javase/6/docs/api/Java/util/Properties.html

primes = 2,\
    3,\
    5,\
    7,\
    11
133
Joop Eggen

Vérifiez le Guide de l'utilisateur pour les fichiers de propriétés :

Caractères spéciaux et échappés :

Si vous avez besoin d'un caractère spécial dans une propriété, telle qu'un saut de ligne, une tabulation ou un caractère unicode, vous pouvez le spécifier avec la même notation avec échappement que celle utilisée pour Java Chaînes. Le séparateur de liste (", "par défaut), peut également être échappé:

key = This \n string \t contains \, escaped \\ characters \u0020

Les barres obliques inverses sont plus difficiles.

Listes et tableaux :

Vous pouvez spécifier une liste de valeurs dans votre fichier de propriétés en utilisant la même clé sur plusieurs lignes:

# chart colors
colors.pie = #FF0000;
colors.pie = #00FF00;
colors.pie = #0000FF;
25

Vous devez combiner le \n caractère dans le contenu et l’échappement de continuation de ligne (\<eol> en fin de ligne) pour obtenir une propriété multiligne réellement représentée dans le fichier de propriétés et dans la valeur renvoyée:

KEY1=first line\n\
second line\n\
last line
KEY2=another key

Pas sûr si commons-configuration peut être configuré pour utiliser réellement cette syntaxe pour l'écriture.

11
eckes

Une autre option consisterait à utiliser l’un des formats de propriétés conçu pour prendre en charge les valeurs multilignes.

XML peut bien gérer les propriétés multilignes, mais il a beaucoup de bruit.

MProps: est un exemple de format avec pratiquement aucun formatage spécial requis: https://github.com/mprops/mprops-Java

0
Mikhail Fursov