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 ctemp
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 !) !?