C# 打开文件时出现的问题

17 浏览
0 Comments

C# 打开文件时出现的问题

这个问题已经有答案了

可能的重复:

有没有办法检查文件是否被使用?

有没有办法在C#中关闭文件?

if(File.Exists(TEMP_FILENAME))
            File.Delete(TEMP_FILENAME);

上面的代码指出文件已经被另一个进程使用。

有没有办法检查在VS 2008中打开的文件句柄?

admin 更改状态以发布 2023年5月22日
0
0 Comments

当我运行程序时,在打开文件后停止执行,然后再次运行并尝试操作文件时,我在VS2008中遇到过这种情况。发生这种情况时,我找到的唯一解决方法是关闭VS并重新打开它,或者杀死*.vshost.exe进程以释放文件。我从未真正研究过为什么会发生这种情况,但我认为这是因为作为从VS运行的应用程序运行的实际进程是*.vshost.exe文件,当您结束程序的执行时,它并不会关闭。

此外,为了防止发生这种情况,请始终确保正确关闭文件流或利用using块。确保在通过VS结束执行之前,此代码部分执行。

如果这不是发生的情况,请参阅mkus提供的答案,了解如何查看另一个应用程序是否锁定了您的文件。

0
0 Comments

关闭应用程序中使用该文件的流。

如果错误是由于另一个正在运行的应用程序引起的,最好只是尝试操作,并处理失败。如果您在检查后尝试执行操作,则创建了一种竞争条件。如果删除失败(无论是由于文件正在使用还是权限不足),请随后处理该问题。

0