J'ai eu ce codepassage à un constructeur StreamWriter différent causant la mauvaise sortie
StreamWriter sw = new StreamWriter(this.FileName, true);
sw.WriteLine(text);
sw.Close();
qui j'ai changé à ce (à cause d'un problème de contention):
StreamWriter sw = new StreamWriter(
new FileStream(this.FileName, FileMode.OpenOrCreate
, FileAccess.ReadWrite, FileShare.Write)
, Encoding.ASCII);
sw.WriteLine(strLog);
sw.Close();
Le problème est que le premier a bien fonctionné, produit un texte approprié qui était lisible par l'homme (ceci est pour un fichier texte de journal). Le second produit une sortie totalement visqueuse, quel que soit le type d'encodage utilisé. J'ai essayé ASCII, UTF7, 8, Unicode et par défaut. Donc, il me manque clairement quelque chose de fondamental sur FileStream ou TextWriter. S'il vous plaît, édulcatez-moi.
Pouvez-vous inclure les premières douzaines d'octets de la sortie "screwy"? –
Copié ce code dans une application de console autonome, et cela a parfaitement fonctionné. Il ne pense pas que votre problème est dans le code. –
C'est ce que j'ai eu quand j'ai converti le texte en hex 32 avec le bloc-notes ++ "000000000 32 30 30 39 30 33 32 36-2D 30 39 33 35 34 36 09-46 69 6E 69 73 68 65 64-2C 20 6E 6F 20 69 74 65 | 20090326-093546.Finished, no ite | " mais il devrait être: – jcollum