C# File.Copy 第二次用时,被提示被占据

2025-05-18 07:58:28
推荐回答(4个)
回答1:

File.Copy的方法是:
将现有文件复制到新文件。不允许改写同名的文件。
上面是MSDN定义的解释
不允许改同名文件的意思是,你复制过去的文件不能有相同的名称的文件。
否则将跳出IOException异常。
这个错误表示:文件已经存在或System.IO异常
这个函数的所带的两个参数,都为绝对路径。
一个为要复制的文件的路径
一个为目标文件的路径
在使用这个方法时候要注意它可能抛出的几个异常。
上面提到的那个异常是其中的一个。

回答2:

File.Copy(sourceFilename,destFilename, true);//允许覆盖

回答3:

碰到相同的问题,不得不采用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);
}
}

回答4:

关闭的时候施放资源