Lecture / Ecriture d'un fichier .txt [Résolu]

dsadsadsa 8 Messages postés jeudi 28 août 2008Date d'inscription 18 mars 2009 Dernière intervention - 3 sept. 2008 à 21:13 - Dernière réponse : dsadsadsa 8 Messages postés jeudi 28 août 2008Date d'inscription 18 mars 2009 Dernière intervention
- 4 sept. 2008 à 16:11
Bonjour, tous d'abord je tiens a m'excuser si je ne suis pas dans le bon "Thème" :s...

J'ai un probleme avec mon application c#, Dans laquele je voudrais, quand je click sur un bouton "envoyer", que ca copie le text (dans un textbox) et que ca me le mette dans un fichier .txt, et quand je click sur un autre, que ca m'affiche la liste du fichier text:

Voici mon code pour écrire dans mon fichier Texte:

 System.IO.StreamWriter sw = new System.IO.StreamWriter("C:/temp/StockSQL.txt", true);
             
                sw.WriteLine(textBox4.Text);
                sw.Close();

et voici le code pour lire et afficher :

       StreamReader sr = new StreamReader("C:/temp/StockSQL.txt");
                int i = 0;
                string line = sr.ReadLine();
                cbxModif.Items.Clear();
                while (line != null)
                {
                    //write the lie to console window

                        cbxModif.Items.Add(sr.ReadLine());
                        //label9.Text += sr.ReadLine()+"\n";
                        //lecture du ligne du texte
                        //line = sr.ReadLine();
          
                }
                sr.Close();

Ca marche ... mais pas tous le temps, Quand je lance mon programme, et que je presse sur le bouton pour envoyer dans le fichier, ca marche normalement, et ca le met a la suite (dans le fichier .txt).

Mais quand je presse sur le Bouton pour lire(afficher) le contenu du fichier .txt, il me met une erreur, a premiere vue a la ligne -> sr.Close(),

Apres cette erreur, je n'arrive plus a ecrire dans mon fichier .txt avec le StreamWriter ...

ce que je ne comprend pas ... c'est que si j'inciste sur le bouton, au bou de la ... 7eme fosi que je click, ca remarche ...

Si qqun pourrais m'aider a que cela fonctionne correctement

Au revoir

K3ts
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
xmox667 357 Messages postés jeudi 8 juin 2006Date d'inscription 26 décembre 2011 Dernière intervention - 3 sept. 2008 à 21:46
3
Merci
Salut,
Pour ta boucle de lecture tu devrais essayer ceci:

String Line =String.empty;
cbxModif.Items.Clear();
StreamReader sr = new StreamReader("C:/temp/StockSQL.txt");
while ((Line = sr.ReadLine()) != null)
{
    cbxModif.Items.Add(Line);
}
sr.Close();

A+

Merci xmox667 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de xmox667
Meilleure réponse
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 4 sept. 2008 à 09:22
3
Merci
il y a plus simple pour lire et écrire un fichier text.

File.OpenText
File.WriteText

Enfin, il ne faut pas oublier de faire un Close() ET un Dispose() de ton stream !

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de sebmafate
dsadsadsa 8 Messages postés jeudi 28 août 2008Date d'inscription 18 mars 2009 Dernière intervention - 4 sept. 2008 à 16:11
0
Merci
Merci beaucoup à vous, grace a ce code :


String Line =String.empty;
cbxModif.Items.Clear();
StreamReader sr = new StreamReader("C:/temp/StockSQL.txt");
while ((Line = sr.ReadLine()) != null)
{
    cbxModif.Items.Add(Line);
}
sr.Close();

tous marche nikel ;)

k3ts


 
Commenter la réponse de dsadsadsa

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.