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 :
c'est la seule information que je met dans mon fichier grace à la commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part chaine = info0 + "!" + info1; // info1 = "oui"
write(), après je ferme le fichier (close()).
lorsque je récupère la chaine, je la découpe grace à :
cependant, lorsque je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part String [] info = line.split("!");
je n'entre jamais dans la boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (info[1] == "oui") {...
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 :
la lecture 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);}
merci de votre aide
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); } } }
Partager