关于.net:如何检查文件是否在c#中使用?

How to check if file is in use in c#?

本问题已经有最佳答案,请猛点这里访问。

如何检查我正在使用的Excel文件(操作它的数据、删除它或覆盖它)是否被另一个程序使用?如何把它从同一个地方释放出来?

请指导我使用C。


尝试用标志"for writing"打开。如果失败,文件将被其他进程"占用"。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FileStream fileStream = null;

try
{
    fileStream =
        new FileStream(@"c:\file.txt", FileMode.Open, FileAccess.Write);
}
catch (UnauthorizedAccessException e)
{
    // The access requested is not permitted by the operating system
    // for the specified path, such as when access is Write or ReadWrite
    // and the file or directory is set for read-only access.
}
finally
{
    if (fileStream != null)
        fileStream.Close ();
}

P.S.刚发现一个非常相似的问题,答案基本相同:

C:是否有方法检查文件是否在使用中?