Properties

Résolu
cs_Miti Messages postés 28 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 30 septembre 2005 - 17 sept. 2005 à 10:27
cs_Miti Messages postés 28 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 30 septembre 2005 - 18 sept. 2005 à 10:15
Bonjour à vous...

J'ai une p'tite question du genre : mais ou est-il passé ?

J'ai un fichier texte qui contient la ligne suivante:

cheminServeur = //xxx.xxx.xxx.xxx\\serveur

Et quand je vais la lire avec:

Properties maPropriete = new Properties();
maPropriete.load( fichier.txt );

String cheminBase = maPropriete.getProperty( "cheminServeur" );

Voilà ce que contient le String : //xxx.xxx.xxx.xxx\serveur

Moi j'y perd mon latin


Quelqu'un aurait il une idée de pourquoi Java s’acharne sur moi ?? :O) et comment faire pour que la ligne soit lue entièrement? donc avec les deux \\ soit : //xxx.xxx.xxx.xxx\\serveur

Je travail avec:

JavaTM 2 Platform
Standard Ed. 5.0



Eclipse Platform

Version: 3.0.1

Merci d'avance.....

5 réponses

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
17 sept. 2005 à 13:13
salut

ce que tu obtiens c'est quand tu fais un System.out.print(cheminBase) ?

si c'est le cas c'est normal que Java ne te mette qu'un backslash car il convertit le string en "normal"

voila a++
3
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
17 sept. 2005 à 21:57
C'est tout à fait normal, le \ étant un caractère spécial quand il est utilisé avec n ou t par exemple.



Pour en avoir un dans une chaine il faut en mettre deux à la suite. Pour en avoir 2 il faut donc en mettre 4 à la suite :



cheminServeur = //xxx.xxx.xxx.xxx\\\\serveur

gmi19oj19
3
cs_Miti Messages postés 28 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 30 septembre 2005
18 sept. 2005 à 10:15
J'ai fais cette petite méthode qui permet de rectifier le tir de Java avec les back slash...

private String ajouteBackSlash( String pString ){
int i = 0;
char car[] = pString.toCharArray();
String ajoutBackSlash = "";
while( i < car.length ){
if( car[ i ] == '\\' ){
ajoutBackSlash = ajoutBackSlash + car[ i ] + "\";
}
else{
ajoutBackSlash = ajoutBackSlash + car[ i ];
}
i++;
}
return ajoutBackSlash;
}

Il ajoute un \ quand il en vois un....du coup quand il affiche le string dand le JTextField il y a toujours les deux \\ .


Merci pour votre aide…
3
cs_Miti Messages postés 28 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 30 septembre 2005
17 sept. 2005 à 17:57
Merci scaryman...

Oui c'est avec un System.out.print(cheminBase) que j'affiche le chemin pour la vérifier.

Donc tu pense que c'est le System.out.print(cheminBase) qui me supprime le back slash?

Car si je fais ça :

int i = 0;
while( i < 20 ){

System.out.print( cheminBase.charAt( i ) );

i++;
}

et que j'affiche caractère par caractère le contenu du String, le back slash est manquant aussi !?




Faut il utiliser un autre transport que le String pour stocker la valeur ou utiliser une autre méthode que :
String cheminBase = maPropriete.getProperty( "cheminBase" ); pour récuperer le texte en entier


Merci d’avance….
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Miti Messages postés 28 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 30 septembre 2005
18 sept. 2005 à 09:46
ok... Car voilà ce qui se passe:

J'ai une application dans laquelle je rentre le chemin du serveur dans un JTextField :


//xxx.xxx.xxx.xxx\\serveur





A chaque fermeture du programme je sauvegarde en local les valeurs contenues dans les JextField et à chaque ouverture je vais les lires et les insères dans le JTextField.


Donc au bout de deux lancements il n’y a plus de back slash :O) : //xxx.xxx.xxx.xxxserveur vu qu’il y en a toujours un sur deux qui se font supprimer.


Si vous avez une idéé pour éviter que se phénomène se produise… ?? Merci…
0
Rejoignez-nous