2011-09-02 194 views
-1

可能重复另一个进程:
Cant Access File because it is being used by another process该进程无法访问该文件,因为它正在由

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(); 
} 

当运行代码时,第一次当我运行代码(没有temp.txt文件)时,它会抛出一个异常“进程无法访问该文件,因为它正在被另一个进程使用”。请提出解决方案,并且在编写代码时出现了什么问题这样的代码?

+7

您不需要.Flush,.Close和.Dispose。所有这些将在您离开使用范围时自动完成。现在你说没有第一次存在的temp.txt文件,但你会得到一个异常说明该文件被另一个进程使用。那它是什么? –

+0

代码没有问题(除了Flush/Close/Dispose序列无用)。错误信息是非常清楚的:另一个进程已经在使用该文件,所以你不能写入它 –

+0

@Darin Dimitrov:是的..第一次,当我运行代码..没有这样的文件存在。仍然会弹出一个例外。 – Kritika

回答

2

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

0

使用(StreamWriter的SW =新的StreamWriter(CConstant.m_TEMPFILEPATH,真))

替换的上的代码的代码,并对其进行测试,也是同样的结果?

相关问题