异常:在c#中重命名文件时拒绝访问路径?

异常:在c#中重命名文件时拒绝访问路径?,c#,C#,我正在使用File.Move操作重命名该文件,我正在从同一文件夹中拾取该文件,重命名后放入同一文件夹。它有时工作正常,但有时会抛出上述异常。为什么会这样 注意:我在任务计划程序中配置了这个.exe应用程序,它将每5分钟运行一次 请参见下面的示例代码: private static void LocalZipFileRename() { try { string[] files = Directory.GetFiles(FTPZip

我正在使用File.Move操作重命名该文件,我正在从同一文件夹中拾取该文件,重命名后放入同一文件夹。它有时工作正常,但有时会抛出上述异常。为什么会这样

注意:我在任务计划程序中配置了这个.exe应用程序,它将每5分钟运行一次

请参见下面的示例代码:

private static void LocalZipFileRename()
    {
        try
        {

            string[] files = Directory.GetFiles(FTPZipSource);

            foreach (string file in files)
            {
                string filename = Path.GetFileName(file);
                logger.Info("Renaming Local Zip filename" + filename);
                if(!filename.Contains("StringValue_"))
                {
                    File.Move(FTPZipSource + filename, FTPZipSource + "StringValue_" + filename);
                    logger.Info("Renaming Local Zip filename, Completed" + filename);
                }

            }
        }
        catch(Exception ex)
        {
            logger.Error("Exception at LocalZipFileRename" + ex.Message);
        }
    }

你能给我们一个简短的示例代码吗?你能给我们一些代码吗?“我正在从同一文件夹中拾取文件,重命名后放入同一文件夹”,这听起来像是在做两个操作,但
file.Move()
在一个操作中完成了这两个操作。如果程序正在锁定文件,则使用它可能会出现问题。您可能无意中用以前未执行的一些操作锁定了文件,例如“每5分钟运行一次”。我假设某个程序正在连续创建zip文件,如果该程序没有将文件句柄释放到它创建的zip文件,那么您将看到异常。或者,如果FTP程序(此处假设来自
FTPZipSource
)没有释放文件句柄,或者需要一些时间来释放,那么您将看到相同的异常。您可能试图重命名程序仍在压缩过程中或FTP程序仍在传输过程中的zip文件。由于提供的信息有限,这里有很多假设。