[C#]: problème lors de l'ecriture dans un fichier

Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 - 20 févr. 2010 à 19:14
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 - 20 févr. 2010 à 21:24
er
bonjour à tous,
je suis débutant en C# et j'ai un petit souci lorsque j'écris dans un fichier, je m'explique:
je désire lire un fichier texte, faire quelques traitements sur une de ces colonnes et puis ecrire le résultat dans un fichier en reprenant le fichier original plus le traitement effectué sur le colonne.
le traitement se passe bien (l'affichage sur la console est correcte), par contre mon fichier de sortie ne contient qu'une seule ligne (alors que si je demande l'affichage sur la console, j'en ai des milliers)
voici ma fonction qui me permet l'ecriture dans un fichier:


static void writeDom(string p, string dom)
{            
    StreamWriter wDom = new StreamWriter(p.ToString()+".dom.txt");
            
    wDom.WriteLine(dom);
    //Console.WriteLine(dom);
    Console.WriteLine("Pregoression en cours...");
    Console.ReadLine();
 
    wDom.Close();
}


sachant que qu'elle prend deux arguments: p= chemin du fichier d'origine, et dom qui est une variable qui contient les traitements effectués sur le fichier (fichier + la colonne modifiée)
quelqu'un peut-il m'aider?
merci d'avance.

6 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
20 févr. 2010 à 19:29
Bonjour,

Le fichier ne contient pas l'intégralité des données même après exécution de la méthode Close ?


/*
coq
MVP Visual C#
CoqBlog
*/
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
20 févr. 2010 à 19:37
le fichier contient qu'une seule ligne. comme je l'expliquait dans le message, console.writeline(dom) me renvoi des milliers de lignes alors que le fichier de sortie ne contient qu'une seule ligne... je trouve ce comportement très bizarre!! je n'arrive pas à détecter ce qui cloche.
merci pour votre aide.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
20 févr. 2010 à 21:04
Oui, ma demande de précision portait sur le moment où le fichier est ouvert pour vérification : avant ou après l'appel de la méthode StreamWriter.Close ?

Que donne ce code ? :

        static void writeDom(string p, string dom)
        {
            using (StreamWriter wDom = new StreamWriter(p.ToString() + ".dom.txt"))
            {
                wDom.WriteLine(dom);
                //Console.WriteLine(dom);
            }

            Console.WriteLine("Pregoression en cours...");
            Console.ReadLine();
        }




/*
coq
MVP Visual C#
CoqBlog
*/
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
20 févr. 2010 à 21:15
j'ai essayé le code mais cela ne change rien du coté de la sortie (toujours une seule ligne). par contre (et je crois que c'est logique) au niveau de la console, j'ai "progression en cours..." qui s'affiche ! l'affichage est permanent...
0

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

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
20 févr. 2010 à 21:22
une seule ligne avec le contenu de toutes les lignes ou seulement la première ligne (ou la dernière) ?


/*
coq
MVP Visual C#
CoqBlog
*/
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
20 févr. 2010 à 21:24
il y a juste une ligne.
pour ce qui est de laquelle?? le contenu de la ligne change a chaque fois que je lance le programme.
0
Rejoignez-nous