En java, quand tu met antislash suivit de quelque chose, Java attends un caractere echappé : ainsi quand tu tape " il considere que " est un caractere echapé (le guillemet, c'est a dire que le guillemet n'est pas considéré comme etant la fin de la chaine), si tu veux mettre \ dans une chaine il faut taper :
"\" (a la compil \\ est remplacé par \ tout court)
L'echappement permet d'inserer des caracteres speciaux au milieu d'une chaine :
\n rajoute un retour a la ligne
" rajoute un guillemet
\\ rajoute un \
\t une tabulation
\0x0A un caractere ascii de code 0x0A (en hexadecimal)
etc..
dans ta chaine "\\serveur\partage\dir\file.xml" , Java va crier! lol. En effet, il va considerer que p,d et f sont echappés, la bonne maniere de les rentrer dans le code est :
"\\\\serveur\\partage\\dir\\file.xml" A la compil, tous les \\ seront remplacés par \
Pour revenir a ton probleme, pour remplacer tous tes \ en / , il faut respecter les echappement comme plus haut, tu as mal tapé ta ligne :
au lieu de
chemin.replace("", "/") (Java considere que "" n'est pas une chaine terminée, c'est normal car le caractere " est echappé et ne considere pas ce caractere comme etant la fin de la chaine);
tape plutot :
chemin.replace("\", "/")
Tu verra ça marchera mieux, enfin ça compilera!