File.Copy的方法是:
将现有文件复制到新文件。不允许改写同名的文件。
上面是MSDN定义的解释
不允许改同名文件的意思是,你复制过去的文件不能有相同的名称的文件。
否则将跳出IOException异常。
这个错误表示:文件已经存在或System.IO异常
这个函数的所带的两个参数,都为绝对路径。
一个为要复制的文件的路径
一个为目标文件的路径
在使用这个方法时候要注意它可能抛出的几个异常。
上面提到的那个异常是其中的一个。
File.Copy(sourceFilename,destFilename, true);//允许覆盖
碰到相同的问题,不得不采用FileStream方式手动复制后就解决了。
public void CopyFile(string sourceFilePath, string destFilePath)
{
// 创建文件流并读取文件
using (FileStream sourceStream = File.Open(sourceFilePath, FileMode.Open, FileAccess.Read, FileShare.Read))
using (FileStream destStream = File.Create(destFilePath))// 创建新文件流并写入
{
sourceStream.CopyTo(destStream);
}
}
关闭的时候施放资源