Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
StreamWriter不工作c#_C#_Streamwriter - Fatal编程技术网

StreamWriter不工作c#

StreamWriter不工作c#,c#,streamwriter,C#,Streamwriter,我在我的应用程序中使用了很多streamwrtier,这一个用于记录程序运行时发生的错误,但目前它只在写入文件时创建文件: if(File.Exists(currentLog))//currentLog = "Path\\Log.txt" { using (var fileStream = File.Open(currentLog,FileMode.Open)) { StreamWriter Er

我在我的应用程序中使用了很多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("-------------------------------");
            }
        }
我是不是漏掉了什么明显的东西?任何帮助都会很好,谢谢

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

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

        using (var fileStream = File.Open(currentLog, FileMode.Open))
        {
            using (StreamWriter erreurStreamWriter = new StreamWriter(fileStream))
            { 
                erreurStreamWriter.WriteLine("{0}", e.Message);
                erreurStreamWriter.WriteLine("-------------------------------");
            }
        }
基本上,我认为发生的是流编写器从未刷新到文件流中。

试试这个

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

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

FileMode.Append
?另外,我建议忘记文件流,直接使用StreamWriter,将日志文件路径作为唯一的参数传递给您,您永远不会关闭/刷新文件streamwriter@CodeInChaosUsing()块通过调用IDispose调用间接完成关闭部分。@zenwalker
FileStream
通过
Using
语句关闭,但是
StreamWriter
没有。起初我像zenwlaker一样思考,我认为using语句也关闭了StreamWriter,似乎它没有文件模式。Append?另外,我建议忘记文件流,直接使用StreamWriter,将日志文件路径作为唯一的参数传递给您,您永远不会关闭/刷新文件streamwriter@CodeInChaosUsing()块通过调用IDispose调用间接完成关闭部分。@zenwalker
FileStream
通过
Using
语句关闭,但是
StreamWriter
没有。起初我像zenwlaker一样思考,我认为using语句也关闭了StreamWriter,似乎没有^_-