我正在开展一个项目,我需要执行以下操作: 我需要重命名一个图像文件。 (从文件夹中打开图像,并提供名称并将其保存到同一文件夹中)
try
{
string oldFileName = @"path\to\person1.jpg";
string desFileName = @"path\to\person2.jpg";
File.Copy(oldFileName, desFileName, true);
if (File.Exists(oldFileName))
{
File.Delete(@oldFileName);
}
}
catch (Exception ex)
{
}
我用上面的方法重命名了文件。
此过程使用新名称复制旧文件,但无法删除旧文件
异常消息:
该进程无法访问文件'path \ to \ person1.jpg',因为它是 被另一个进程使用。
如何解决这个问题?请建议以任何方式检测复制过程是否已完成。
答案 0 :(得分:2)
由于您的代码是同步的,因此if
声明完成了您的复制过程。
我打赌你有这个错误因为另一个进程(不是你的程序)使用了文件。 Maby你有油漆或其他东西。
您应该使用进程监视器或其他内容找到它。检查this question。