FIle.Copy() 输出 mscorlib.dll 中发生了 'System.UnauthorizedAccessException' 类型的未处理异常

FIle.Copy() ouput An unhandled exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll

我正在尝试在文件 class 中使用 Copy 方法,但我无法正常工作,它总是打印相同的异常,我已尝试在桌面中创建文件夹,我正在尝试取消选中文件夹中的只读属性但没有机会这样做,因为在保存 属性 之后,文件夹仍然始终只读 属性 .

这是我的代码:

 mypath = "D:\Test\image1.png";
 folder = "C:\Users\user1\Desktop\folder"
 DirectoryInfo directory = Directory.CreateDirectory(folder);
 File.Copy(directory.FullName, mypath);

我在社区中搜索了解决方案,但这些解决方案中的任何一个都适合我:

我该如何解决这个问题?

复制方法不能与文件夹名称参数一起使用,而且您的参数顺序错误。

方法的定义是

public static void Copy (string sourceFileName, string destFileName);

两个参数都应该是文件名,而不是目录。

所以你可以使用

File.Copy(mypath, folder+"\" + Path.GetFileName(mypath));

您正在尝试使用 File.Copy(sourceFilename,destFilename) 复制目录。最重要的是,目的地不能是目录路径

destFileName String

The name of the destination file. This cannot be a directory or an existing file.

要将文件复制到新目录,您需要构建新的完整文件路径并反转参数的顺序:

Directory.CreateDirectory(folder);

...

var fileName=Path.GetFileName(myPath);
var destPath=Path.Combine(folder,fileName)

File.Copy(myPath,destPath);