2016-10-20 2 views
0

J'utilise stringbuilder pour collecter des chaînes dans mon code. Au bout de ce code mon stringbuilder a plus de 100000 caractères.Limitation de caractères StreamWriter 64512

Mais la fonction writeline écrit uniquement les 64512 premiers caractères dans stringBuilder. Lorsque j'ai débogué le code, j'ai vu que stringbuilder est capable de renvoyer tous les 100 000 caractères, mais que streamwriter ne peut pas gérer tous ces caractères. Ma variable stringbuilder est sbPmml dans le code ci-dessous.

System.IO.StreamWriter file = new System.IO.StreamWriter(txtDP.Text + "\\" + txtPmmlName.Text + ".txt"); 
file.WriteLine(sbPmml.ToString()); 

Comment puis-je imprimer tous ces caractères de fichier via stringbuilder wihtout spliting le stringbuilder quelques morceaux?

+0

Essayez de fermer votre flux. – apocalypse

+1

Est-ce que Flush aide? – qxg

+1

cochez [this] (http://stackoverflow.com/questions/25222674/streamwriter-limit-in-c-sharp-in-text-file)? – Badiparmagi

Répondre

0

J'ai ajouté le code ci-dessous. Cela a fonctionné pour moi

file.AutoFlush = true; 
+0

Hmm, vous ne fermez pas le flux pour une raison quelconque. Cela ne peut pas être très sain. –