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

本文关键字:有错误 磁盘 TextWriter | 更新日期: 2023-09-27 18:19:40

我有以下代码片段,它从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);
   }
}

然而。。。生成的文件不会在磁盘上创建,也不会引发任何异常。这就像要写入磁盘的文本消失在空气中一样。这段代码在另一个程序集中工作,只是不在我移植它的服务中。我不知道为什么在这种情况下文本不会被写入磁盘,非常感谢您为解决这个问题提供的任何帮助。

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

您是否考虑过使用File.WriteAllLines?http://msdn.microsoft.com/en-us/library/dd383693.aspx.根据我的经验,这类操作要干净得多。有助于缩小出错的可能性。

我认为您的i没有递增。在循环内执行i++。也要这样做。foreach行,write行,循环外齐平。也删除removeat

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

检查用于运行服务的凭据。。。也许你可以试着写一些临时文件夹(例如C:''temp),看看它是否能正常工作

我重新启动,一切都按预期开始工作。我真的没有解释发生了什么,但我想我的电脑是这里的问题,而不是编码器错误。感谢大家的帮助