FileInfo锁定文件!

时间:2010-08-26 14:28:37

标签: .net locking fileinfo

想象一下winform应用程序,它将更新的程序集从源文件夹A复制到目标文件夹B. 我使用简单的DirectoryInfo.GetFiles方法填充listview,比较文件夹A和B中的程序集版本;如果某些程序集更新,我会启动更新方法。 在此方法中,在复制之前,我尝试如果B文件夹中的所有文件都未使用:

var B = new DirectoryInfo("myBfolder");
foreach (var file in aFolder.GetFiles())
{
    try
    {
        //File not in use
        File.Open(file.FullName, FileMode.Open, FileAccess.ReadWrite, FileShare.None);
    }
    catch (Exception ex)
    {
        //File in use!
    }
}

好吧,因为以前的UpdateListView代码,使用FileInfo来显示信息,我的所有文件都会被使用!

FileInfo锁定文件!这可能吗?

有人可以建议绕过这个问题吗?

谢谢你, 南多

1 个答案:

答案 0 :(得分:4)

不,锁定文件的是File.Open

尝试使用它:

using(var file = File.Open(file.FullName, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
   // process here
}