2

我直接从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 中的每个文件上抛出一个错误,因为它已经在使用中,所以无法访问它。当我退出代码时,很明显没有其他进程正在使用这些文件,所以一定是这段代码导致了问题。有没有办法为此使用“使用”?

任何建议表示赞赏。

问候。

4

1 回答 1

0

感谢所有的建议——他们让我找到了答案。我正在覆盖我的网页的 Render 方法以将其中一个表保存为 .html 文件。为了显示这个表,我需要 sourceDir 中的文件。但是,表格不会立即呈现,因此在第一次调用 Render 时,这些文件会被 Web 应用程序合法使用。我发布的代码工作得很好。

于 2012-08-28T18:05:48.190 回答