Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c#中复制文件时发生异常时如何释放文件?_C#_C# 4.0_C# 3.0 - Fatal编程技术网

在c#中复制文件时发生异常时如何释放文件?

在c#中复制文件时发生异常时如何释放文件?,c#,c#-4.0,c#-3.0,C#,C# 4.0,C# 3.0,当在c#中复制文件时出现异常时,源文件无法再次访问,因为file.copy()方法未释放该文件。这是我用来将文件从一个位置复制到另一个位置的简单代码 File.Copy(filePath, Address + "\\" + fileName, true); 发生异常后,我无法再次访问源文件 这个问题的解决办法是什么。是否有任何方法可以再次释放文件?调用finally块中的以下行,以便在成功复制文件或引发错误时释放句柄 try { File.Copy(filePath, Address + "

当在c#中复制文件时出现异常时,源文件无法再次访问,因为file.copy()方法未释放该文件。这是我用来将文件从一个位置复制到另一个位置的简单代码

 File.Copy(filePath, Address + "\\" + fileName, true);
发生异常后,我无法再次访问源文件


这个问题的解决办法是什么。是否有任何方法可以再次释放文件?

调用finally块中的以下行,以便在成功复制文件或引发错误时释放句柄

try
{
File.Copy(filePath, Address + "\\" + fileName, true);
}
catch (Exception ex)
{

}
finally
{
        new System.Security.Permissions.FileIOPermission
    (System.Security.Permissions.FileIOPermissionAccess.Read, new string[] 
    { filePath}).Demand();
}