复制目录不放弃文件

时间:2012-08-28 17:46:51

标签: c# file process

我直接从How to: Copy, Delete, and Move Files and Folders (C# Programming Guide)获得此代码:

string sourceDir = currDir + "\\" + "Trends";
string targetDir = currDir + "\\" + reportDir + "\\" + "Trends";
if (Directory.Exists(sourceDir))
{
    string[] files = Directory.GetFiles(sourceDir);

    foreach (string file in files)
    {
        string fileName = Path.GetFileName(file);
        string targetFile = Path.Combine(targetDir, fileName);
        File.Copy(file, targetFile, true);
    }
}

但是,当我运行此代码时,我在sourceDir中的每个文件上抛出一个错误,因为它已经在使用中,因此无法访问它。当我退出代码时,很明显没有其他进程正在使用这些文件,所以它必须是导致问题的代码块。有没有办法为此使用“使用”?

感谢任何建议。

问候。

1 个答案:

答案 0 :(得分:0)

感谢所有建议 - 他们引导我回答。我重写了我的网页的Render方法,将其中一个表保存为.html文件。为了显示这个表,我需要sourceDir中的文件。但是,该表不会立即呈现,因此在第一次调用Render时,Web应用程序正在使用这些文件。我发布的代码工作正常。