StreamWriter不工作c#
我在我的应用程序中使用了很多streamwrtier,这一个用于记录程序运行时发生的错误,但目前它只在写入文件时创建文件: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
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调用间接完成关闭部分。@zenwalkerFileStream
通过Using
语句关闭,但是StreamWriter
没有。起初我像zenwlaker一样思考,我认为using语句也关闭了StreamWriter,似乎它没有文件模式。Append?另外,我建议忘记文件流,直接使用StreamWriter,将日志文件路径作为唯一的参数传递给您,您永远不会关闭/刷新文件streamwriter@CodeInChaosUsing()块通过调用IDispose调用间接完成关闭部分。@zenwalkerFileStream
通过Using
语句关闭,但是StreamWriter
没有。起初我像zenwlaker一样思考,我认为using语句也关闭了StreamWriter,似乎没有^_-