slash doublés pour un paramètre récupéré par ma servlet [Java] - Programmation
Marsh Posté le 31-05-2002 à 11:45:57
dans le fichier XML tu peux mettre c:\temp
et tu recevras la string "c:\\temp" ce qui est correct au niveau Java.
Marsh Posté le 31-05-2002 à 12:06:41
| DarkLord a écrit a écrit : dans le fichier XML tu peux mettre c:\temp et tu recevras la string "c:\\temp" ce qui est correct au niveau Java. |
ha bon... ça me paraissait pas normal, ms bon, Darklord à parlé !
Merci...
Marsh Posté le 31-05-2002 à 12:13:02
| el_gringo a écrit a écrit : ha bon... ça me paraissait pas normal, ms bon, Darklord à parlé ! Merci... |
c tout a fait normal, il echappe '\' avec un '\' ce qui donne donc '\\'
sinon pour c:\temp java interpreterait en c:[tabulation]emp puisque '\' est le caractere d'echappement ...
koi, c pas clair ?
Marsh Posté le 31-05-2002 à 12:16:30
d'une manière plus simple, lorsque tu es au niveau d'XML, c'est standard et donc pas lié à Java. Cela signifie que tu peux donner le path de la manière habituelle (c:\temp) sans te préoccuper de Java.
C'est la méthode qui recupere la valeur qui s'occupe de gérer les \\
Si tu vuex etre sur tu peux très bien faire c
temp
mais bon c'est pas super propre
Marsh Posté le 31-05-2002 à 12:18:59
Cette histoire de caractères d'échappement, ça existe en C (oui, je viens, et je suis encore aux 9/10° dans le C/C++), mais ces caractères d'échappement sont interprétés uniquement quand on a un chaine de char en dur dans le code (genre String Machaine = "C:\\Temp"
. Ou alors dans une chaine formatée. Mais la variable en mémoire n'interprète pas les caractères d'échappement. C donc pas la peine que les '\' soient doublé pour une chaine en mémoire en C/C++.
G été claire aussi !?
Marsh Posté le 31-05-2002 à 11:32:18
Dans le web.xml de ma serlvet, j'ai défini une variable.
Je récupère sa valeur avec ServletConfig.getInitParameter ("MonParam" );
Le paramètre en question, c'est un chemin de fichier. Et ce con me double le '\'
ce qui fait que mon "C:\MaRep\MonFichier.properties" devient "C:\\MaRep\\MonFichier.properties". Pas génial.
Alors, je pourrais surement enlever 1 '\' sur 2 avec les méthodes de String, ms ça me parait pas propre. Qqn à une explication (et la solution propre qui va avec !) !?