0

我在我的应用程序中使用了很多streamwrtier,这个应该记录程序运行时发生的错误,但目前它只创建文件而不写入文件:

  if(File.Exists(currentLog))//currentLog = "Path\\Log.txt"
        {
            using (var fileStream = File.Open(currentLog,FileMode.Open))
            {
                StreamWriter ErreurStreamWriter = new StreamWriter(fileStream);
                ErreurStreamWriter.WriteLine("{0}",e.Message);
                ErreurStreamWriter.WriteLine("-------------------------------");
            }
        }
        else
        {
            using (var fileStream = File.Create(currentLog))
            {
                StreamWriter ErreurStreamWriter = new StreamWriter(fileStream);
                ErreurStreamWriter.Write("Liste des erreurs :");
                ErreurStreamWriter.WriteLine("{0}", e.Message);
                ErreurStreamWriter.WriteLine("-------------------------------");
            }
        }

我在这里遗漏了一些明显的东西吗?任何帮助都会很棒,谢谢

4

2 回答 2

4

写入后可能需要 Flush(),或者在存在时尝试追加

于 2012-04-24T07:32:26.087 回答
2

尝试这个

        using (var fileStream = File.Open(currentLog, FileMode.Open))
        {
            using (StreamWriter erreurStreamWriter = new StreamWriter(fileStream))
            { 
                erreurStreamWriter.WriteLine("{0}", e.Message);
                erreurStreamWriter.WriteLine("-------------------------------");
            }
        }

基本上我认为发生的是流编写器永远不会刷新到文件流中。

于 2012-04-24T07:34:57.430 回答