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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
String [] info = line.split("!");
cependant, lorsque je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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