移动文件C#总是引发异常

移动文件C#总是引发异常,c#,file,C#,File,有人知道吗?? 这是非常奇怪的,因为我的朋友在他们的电脑中使用了完全相同的代码,它确实工作了 异常表示有另一个进程使用此文件。但我看不到任何其他进程正在使用它 谢谢 如果另一个进程正在锁定该文件,则在另一个进程关闭之前,您将无法向上移动该文件 您可以使用以下方法找到锁定文件的进程: 您也不需要在这些目录中打开命令提示符、记事本++或windows资源管理器,因为它们会锁定文件。但是很多其他过程都有相同的行为 或者,对于锁定的文件,您可以复制它们,而不是移动它们,并根据需要保留原始锁定文件。 您

有人知道吗?? 这是非常奇怪的,因为我的朋友在他们的电脑中使用了完全相同的代码,它确实工作了


异常表示有另一个进程使用此文件。但我看不到任何其他进程正在使用它


谢谢

如果另一个进程正在锁定该文件,则在另一个进程关闭之前,您将无法向上移动该文件

您可以使用以下方法找到锁定文件的进程:

您也不需要在这些目录中打开命令提示符、记事本++或windows资源管理器,因为它们会锁定文件。但是很多其他过程都有相同的行为

或者,对于锁定的文件,您可以复制它们,而不是移动它们,并根据需要保留原始锁定文件。
您还可以拥有已锁定的文件列表,并在将来尝试删除这些文件。锁定的文件也可能无法复制,这取决于锁定的类型,唯一的解决方案是关闭锁定文件的进程。

例外情况到底是什么?可能与文件权限或不正确的路径有关。如果您不告诉我们详细信息,我们就无法知道。例外情况是,有另一个进程正在使用此文件。如果我尝试通过Windows将其移动,这是一个c#becuz问题,它可以正常工作。问题出在c#。还有其他答案吗???这真的很奇怪问题不是C#,很可能是你的代码,。具体地说,我猜你把文件打开了。然而,它可能像病毒检测程序一样良性。虽然100次中有98次是您的代码,但没有进程使用此文件。也没有windows资源管理器。。。应对也无济于事too@user14502245你能告诉我们有关这个文件的情况吗?有些文件在系统中处理得不好,因为它们是保留的,例如CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8和LPT9,我相信它们也不能在扩展中使用。如果您提供了有关导致问题的文件的更多信息,我们可能会看到一些东西。除非您自己的应用程序是在移动文件之前锁定文件的应用程序,但是您声称您的朋友可以使用它,所以我不知道
public void MoveFiles(string[]filesDics, string to, FilesErrorDelegate filesError) {
            FileInfo f;
            foreach (string file in filesDics) {
                try {
                    f = new FileInfo(file);
                    f.MoveTo(to + "\\" + f.Name);
                }
                catch (Exception) {
                    bool ifContinue = filesError(file);
                    if (ifContinue) {
                        break;
                    }
                }

            }
        }







and here i am using the function:
private void BtnMove_Click(object sender, EventArgs e) {
            string[] filesNamesArray = GetFilesArray();
            mf.MoveFiles(filesNamesArray, @"C:\Users\76599\Documents\filesManager", delegates[selectedError]);

        }