System.IO.File.Copy永远不会覆盖

时间:2016-05-24 20:47:00

标签: c# .net

在我的WinForm中,我想复制/覆盖文件。

如果目标文件不存在,则创建文件即可。当文件已存在时,它永远不会被覆盖。路径在我的本地计算机上。

没有抛出异常,我完全可以访问" Everyone"。与FileInfo相同的问题。只有当我首先删除文件时才会创建它!

我的代码:

//File.Delete(path + "gauche.png");
try
{
    // FileInfo fi = new FileInfo(Path.Combine(path, Num_Gauche.Value + ".png"));
    //fi.CopyTo(Path.Combine(path, "gauche.png"), true);
    File.Copy(Path.Combine(path, Num_Gauche.Value + ".png"), Path.Combine(path, "gauche.png"), true);
}
catch (Exception ex )
{
    Console.WriteLine(ex.Message);
    throw;
}

1 个答案:

答案 0 :(得分:-1)

这可能是所有权问题。如果该文件是由其他用户创建的,则您的进程可能无法覆盖它。通常,如果文件是由安装程序/ MSI创建的,那么您可能会遇到另一个进程覆盖它的问题。 我将在创建文件之前启用该段代码以删除文件。如果可行的话。