【问题标题】:Write text to file using stream writer [duplicate]使用流写入器将文本写入文件[重复]
【发布时间】:2017-11-24 07:27:49
【问题描述】:

根据运行代码时编辑的文件,我在使用Systems.IO.StreamWriter 将字符串MentionsInText 写入文件时遇到了一些问题,但是文件中没有文本。我不确定为什么这不起作用。 我的代码如下;

 var MIS = string.Join(" ", MentionsList.ToArray());
 string Mentionsintext = MIS.ToString();

 StreamWriter MentionFile = new StreamWriter(@"C:\Users\User\Documents\Mentions.txt");

 MentionFile.WriteLine(Mentionsintext + Environment.NewLine);

使用StreamWriter时我做错了吗?

【问题讨论】:

    标签: c# streamwriter system.io.file


    【解决方案1】:

    您应该在写入 StreamWriter 后将其丢弃。

    例如:

     var MIS = string.Join(" ", MentionsList.ToArray());
     string Mentionsintext = MIS.ToString();
    
     using (StreamWriter MentionFile = new StreamWriter(@"C:\Users\User\Documents\Mentions.txt")) {
    
          MentionFile.WriteLine(Mentionsintext + Environment.NewLine);
    
     }
    

    更多例子:见https://www.dotnetperls.com/streamwriter

    【讨论】:

    • 谢谢!从这里我可以说使用streamreader也是正确的吗?
    • @bdg 您应该始终在使用完流后处理它们。最简单的方法是按照 Nsevens 的建议将它们包装在 using(...) 语句中。在上面的示例中,处理流会导致调用Flush()。除了这样做之外,它还会释放流正在使用的所有非托管资源,从而防止内存泄漏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 2018-08-13
    相关资源
    最近更新 更多