繁体   English   中英

TextWriter没有写入磁盘,没有错误

[英]TextWriter is not writing to disk, with no error

我有以下代码片段,这些代码从List中获取行并将其写到磁盘上:

List<string> messages; // a list full of lines of text to write to file
using (System.IO.TextWriter writer = new System.IO.StreamWriter(stSessionStatusFile, true))
{
   int i = 0;
   while (i < messages.Count)
   {
      string line = messages[0];
      writer.WriteLine(line);
      writer.Flush();
      messages.RemoveAt(0);
   }
}

但是...结果文件未在磁盘上创建,也没有引发任何异常。 就像要写入磁盘的文本消失了一样。 这段代码可以在另一个程序集中工作,而不能在我移植到的服务中工作。 我不知道为什么在这种情况下不能将文本写入磁盘,非常感谢您为解决此问题提供的帮助。

您是否考虑过使用File.WriteAllLines http://msdn.microsoft.com/zh-CN/library/dd383693.aspx 我的经验是,对于这些类型的操作,它要干净得多。 帮助缩小发生错误的可能性。

我认为你i没有增加。 我是否在循环内i++ 也这样做。 foreach行,写行,循环外刷新。 也删除removeat

foreach(string line in messages) {
  writer.WriteLine(line)
}

writer.Flush();

检查您用来运行该服务的凭据...也许您可以尝试写入一些临时文件夹(例如C:\\ Temp),然后查看它是否有效

我重新启动,一切开始按预期工作。 我对发生的事情并没有真正的解释,但是我想我的电脑是问题所在,而不是编码器错误。 谢谢你们的帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM