C# 该过程可以';无法访问该文件,因为另一个进程正在使用该文件

C# 该过程可以';无法访问该文件,因为另一个进程正在使用该文件,c#,.net,file-io,C#,.net,File Io,可能重复: 在运行代码时,当我第一次运行代码(没有temp.txt文件)时,它会抛出一个异常“进程无法访问该文件,因为它正被另一个进程使用”。请建议一个解决方案,以及以这种方式编写代码的错误是什么?您不能使用FileMode.OpenOrCreate选项创建FileStream吗?而不是文件?使用(StreamWriter sw=new StreamWriter(CConstant.m_TEMPFILEPATH,true)) 用upper的代码替换您的代码,并对其进行测试,结果也是一样的?您不

可能重复:


在运行代码时,当我第一次运行代码(没有temp.txt文件)时,它会抛出一个异常“进程无法访问该文件,因为它正被另一个进程使用”。请建议一个解决方案,以及以这种方式编写代码的错误是什么?

您不能使用FileMode.OpenOrCreate选项创建FileStream吗?而不是文件?

使用(StreamWriter sw=new StreamWriter(CConstant.m_TEMPFILEPATH,true))


用upper的代码替换您的代码,并对其进行测试,结果也是一样的?

您不需要.Flush、.Close和.Dispose。所有这些都将在您离开使用范围时自动完成。现在您说没有第一次存在的temp.txt文件,但是您得到一个异常,表示该文件被另一个进程使用。那么这是什么呢?代码没有任何问题(除了刷新/关闭/处置序列是无用的)。错误消息非常清楚:另一个进程已经在使用该文件,因此您无法写入it@Darin迪米特洛夫:是的。。第一次,当我运行代码时。。没有这样的文件存在。。但它仍然会弹出一个例外。@Kritika,你意识到这没有意义吗?这个问题已经被问到了
using (StreamWriter _SelectedFile = File.CreateText(CConstant.m_TEMPFILEPATH))
{
    _SelectedFile.WriteLine(CConstant.m_SaveFileDefaultDirectory);
    _SelectedFile.WriteLine(CConstant.Tempfile_ECUSelected);
    _SelectedFile.WriteLine(CConstant.Tempfile_inifile);
    _SelectedFile.WriteLine(CConstant.Tempfile_mapfile);
    _SelectedFile.Flush();
    _SelectedFile.Close();
    _SelectedFile.Dispose();
}