lecture sur fichier et chaine de caractères
Bonjour,
j'ai actuellement un petit problème dans l'une de mes applications :
je stock deux informations (chaines de caractères) dans un fichier texte, de la forme :
Code:
chaine = info0 + "!" + info1; // info1 = "oui"
c'est la seule information que je met dans mon fichier grace à la commande
write(), après je ferme le fichier (close()).
lorsque je récupère la chaine, je la découpe grace à :
Code:
String [] info = line.split("!");
cependant, lorsque je fais :
Code:
if (info[1] == "oui") {...
je n'entre jamais dans la boucle.
si j'observe le fichier texte, il n'y a pas un espace en trop ou un retour à la ligne. si j'écris info1 dans un fichier texte, seul "oui" apparait.
Donc, je me demande si le passage de chaine de caractère à fichier texte puis de fichier texte à chaine de caractère n'entrainerait pas une modification de la donnée initiale.
Je cherche aussi à savoir s'il y a un moyen de contourner le problème.
l'écriture du fichier :
Code:
1 2 3 4 5 6 7 8 9 10
|
String coch = "";
try {
FileWriter f = new FileWriter("fpi.txt");
if (cocher == true) coch = "oui";
else coch = "non";
ligne = (String)ids.elementAt(i)+"!"+coch;
f.write(ligne);
f.close();
}catch (IOException e) {System.out.println(e);} |
la lecture du fichier :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| String line = "";
try {
File fr = new File("fpi.txt"); //si le fichier n'existe pas, on le crée
fr.createNewFile();
FileReader f = new FileReader("fpi.txt");
BufferedReader in = new BufferedReader(f);
try
{
line = in.readLine();
} finally { f.close(); in.close(); }
}catch (IOException e) {System.out.println(e);}
if (line==null);// si le fichier vient d'être creer ou s'il est vide, on ne fait rien
else {
String [] info = line.split("!");
if (info[0]!=null) {
affiche(info[0]); //appel d'une procédure de mon appli
if (info[1] == "oui")
{
dispose();
System.exit(0);
}
}
} |
merci de votre aide