【问题标题】:BinaryWriter puts dirty chars at the begin writing in AppendMode [duplicate]BinaryWriter 在 AppendMode 的开头写入脏字符 [重复]
【发布时间】:2012-10-08 12:38:10
【问题描述】:

可能重复:
Why does BinaryWriter prepend gibberish to the start of a stream? How do you avoid it?

问题发生在 NTService 的执行过程中,该 NTService 将许多报告写入文件。这是我使用的简单代码:

 FileStream fsw = new FileStream(fileName, FileMode.Append, FileAccess.Write, FileShare.Write);
            BinaryWriter w = new BinaryWriter(fsw);
            w.Write(report);
            w.Flush();
            fsw.Flush();
            w.Close();
            fsw.Close();

输出在文件中正确刷新,但在每次写入开始时会出现两个奇怪的字符 (�)。我在多台机器上部署了服务,但问题仍然存在。

提前感谢您的帮助。

【问题讨论】:

  • 您确定要使用 BinaryWriter?也许您应该在文本文件中写入文本?

标签: c# .net file-io binarywriter


【解决方案1】:

试试这个:

    BinaryWriter w = new BinaryWriter(fsw);

    w.Write(UTF8Encoding.Default.GetBytes(report));

【讨论】:

  • 谢谢!这个技巧为我解决了这个问题!
猜你喜欢
  • 2019-11-19
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 2021-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多