Comment puis-je échapper au signe égal ( =
) dans les fichiers de propriétés Java ? Je voudrais mettre quelque chose comme ce qui suit dans mon fichier :
table.whereclause=where id=100
Comment puis-je échapper au signe égal ( =
) dans les fichiers de propriétés Java ? Je voudrais mettre quelque chose comme ce qui suit dans mon fichier :
table.whereclause=where id=100
Je ne sais pas pourquoi cela n'a pas été marqué ! La réponse correcte la plus simple ! Et la plupart du temps, les gens cherchent la valeur d'échappement dans le fichier de propriétés !
En outre, veuillez vous référer à load(Reader reader) méthode de Property
classe sur javadoc
Sur load(Reader reader)
La documentation de la méthode indique
La clé contient tous les caractères de la ligne en commençant par le premier caractère non blanc et jusqu'à, mais sans inclure le premier caractère non encodé
'='
,':'
ou un caractère d'espace blanc autre qu'un caractère de fin de ligne. Tous ces ces caractères de fin de clé peuvent être inclus dans la clé en les échappant en les faisant précéder d'une barre oblique inversée précédent, par exemple,\:\=
serait la clé à deux caractères
":=".
Les caractères de fin de ligne peuvent être inclus en utilisant\r
y\n
s'échapper d'échappement. Tout espace blanc après la touche est ignoré ; si le premier caractère non blanc après la touche non blanc après la touche est'='
o':'
alors elle est ignorée et toute caractères d'espace blanc qui le suivent sont également ignorés. Tous les caractères restants sur la ligne font partie de la chaîne de l'élément chaîne d'éléments associée ; s'il n'y a il n'y a pas de caractères restants, l'élément est la chaîne vide""
. Une fois que les séquences de caractères brutes constituant la clé et l'élément sont identifiés, le traitement de l'échappement est est effectué comme décrit ci-dessus.
J'espère que cela vous aidera.
La meilleure façon d'éviter ce genre de problèmes est de construire les propriétés par programme et de les stocker ensuite. Par exemple, en utilisant un code comme celui-ci :
java.util.Properties props = new java.util.Properties();
props.setProperty("table.whereclause", "where id=100");
props.store(System.out, null);
La version correctement échappée sera affichée dans System.out.
Dans mon cas, le résultat était :
#Mon Aug 12 13:50:56 EEST 2013
table.whereclause=where id\=100
Comme vous pouvez le constater, il s'agit d'un moyen simple de générer un contenu de fichiers .properties dont l'exactitude est garantie. Et vous pouvez mettre autant de propriétés que vous le souhaitez.
Vous pouvez regarder ici La clé d'une propriété Java peut-elle inclure un caractère blanc ?
pour un échappement égal à "= \u003d
table.whereclause=where id=100
clé : [table.whereclause] valeur : [where id=100]
table.whereclause \u003dwhere id=100
clé : [table.whereclause=where] valeur : [id=100]
table.whereclause \u003dwhere\u0020id\u003d100
clé : [table.whereclause=where id=100] valeur :[]
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.