Ecrire dans un fichier.txt [Résolu]

ben rhaem mohamed omar - 30 mars 2016 à 12:45 - Dernière réponse : Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention
- 28 juil. 2016 à 09:32
Bonjour,

Je suis actuellement en train de développer une application en C#.
Le temps de traitement de cette application étant très long (plusieurs heures), et le nombre de lignes affichées dans la console étant très élevé (des milliers), j'aimerais que mon application copie toutes les informations affichées dans la console dans un fichier texte.

Quelqu'un aurait t-il une solution simple pour faire ce que je souhaite ?

Merci d'avance !
Afficher la suite 

7 réponses

Répondre au sujet
Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 30 mars 2016 à 13:03
0
Utile
4
Bonjour,

En restant en mode console, tu peux ouvrir un streamwirter et à chaque fois que tu ajoutes quelque chose à la console, tu ajoute la même chose à ton streamwirter.

Les exemples sont légions sur le net
ben rhaem mohamed omar - 30 mars 2016 à 14:07
bon j'ai trouvé cette solution :

StreamWriter sw = new StreamWriter("Fichier.txt");

Affiche(chaine, sw);

sw.Close();

static void Affiche(string chaine, StreamWriter sw)
{
sw.WriteLine(chaine);
Console.WriteLine(chaine);
}


mais le probléme c'est que cette methode enregistre seulement la derniere trame recue dans un fichier et elle efface les trames precedentes .
Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 30 mars 2016 à 15:59
Il ne faut pas refermer le stream tant que le programme tourne,
Et il faut l'initier en mode AppendText
https://msdn.microsoft.com/en-us/library/system.io.file.appendtext%28v=vs.110%29.aspx
ben rhaem mohamed omar > Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 30 mars 2016 à 17:05
merciiii :)
Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 30 mars 2016 à 19:01
De rien, si ton problème est résolu, tu peux cliquer sur le lien "Marquer comme résolu" sous le titre de la discussion
Commenter la réponse de Whismeril
0
Utile
1
Salut! tu peux aussi y arriver en faisant un peu plus simple

sting cont fichier = "Fichier.txt";

Affiche(chaine, fichier);

static void Affiche(string chaine, string fichier)
{
File.AppendText(fichier,chaine);
Console.WriteLine(chaine);
}

c'est plus simple car tu n'as pas besoin des gérer les flux et donc ça consomme moins des ressources
Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 28 juil. 2016 à 09:32
Bonjour

je reviens sur ce fil pour une précision quand à la réponse donnée ici.

Oui ça marche à partir de la Framework 4.5
Mais antérieurement cette surcharge n'existait pas voir ici la page pour la Framework 4
https://msdn.microsoft.com/fr-fr/library/system.io.file(v=vs.100).aspx
Commenter la réponse de IBM.MVP

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.