未经授权的访问异常 - 在C#中将文件复制到其他目录时访问被拒绝的路径

时间:2014-04-24 14:31:02

标签: c# file directory

将文件从1个文件夹复制到c#中的另一个文件夹时出错。 这是代码:

string xFilename = Path.GetDirectoryName(fdlg.FileName.ToString());    
string yPath = Path.GetFileName(fdlg.FileName.ToString());    
upload_label.Text = xFilename + "\\" + yPath;    
string zFilePath = xFilename + "\\" + yPath;
Directory.CreateDirectory("test");

try 
{
    File.Copy(zFilePath, "\\test", true);
} 
catch(Exception eeee) 
{
    MessageBox.Show(eeee + "");
    throw;
}

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

MSDN(http://msdn.microsoft.com/en-us/library/9706cfs5(v=vs.110).aspx)表示File.Copy

时抛出UnauthorizedAccessException
  

来电者没有所需的权限。

     

-OR -

     

destFileName是只读的。

请检查上述条件,然后重试。

答案 1 :(得分:0)

如果您有子内容,则与子内容有关,就像我的情况一样。

这就是我所做的,也许你可以试试这些步骤:

1。)首先删除该路径上的文件和文件夹,然后删除内容。

2.)然后在文件夹为空后删除文件夹。

var di = new DirectoryInfo("YourPath");

//delete files
foreach (FileInfo file in di.GetFiles())
{
    file.Delete(); 
}

//delete folders
foreach (DirectoryInfo dir in di.GetDirectories())
{
    dir.Delete(true); 
}

//then delete the path itself after it is empty
Directory.Delete(path);