假设我有一个文件夹,并在此文件夹中是一个名为im1.png
的图像。我想im1.png
被删除,当我保存另一个图像名为im1.jpg
或im1.bmp
左右......(同名,但不同类型)在此文件夹中。我写下面的代码,但是这个代码只是删除了具有相同名称和相同类型的文件。请帮我...如何替换具有相同名称但不同类型的文件夹中另一图像的图像?
string CopyPic(string MySourcePath, string key, string imgNum)
{
string curpath;
string newpath;
curpath = Application.Current + @"\FaceDBIMG\" + key;
if (Directory.Exists(curpath) == false)
Directory.CreateDirectory(curpath);
newpath = curpath + "\\" + imgNum + MySourcePath.Substring(MySourcePath.LastIndexOf("."));
string[] similarFiles = Directory.GetFiles(curpath, imgNum + ".*").ToArray();
foreach (var similarFile in similarFiles)
File.Delete(similarFile);
File.Copy(MySourcePath, newpath);
return newpath;
}
不相关的问题,但你并不需要检查'Directory.Exists(curpath)' ,只需调用'Directory.CreateDirectory(curpath);'每一次,如果目录已经存在,函数什么也不做(实际上,它实际上会返回现有目录的'DirectoryInfo'对象,但是你没有使用函数的结果,所以对于你的用例它什么都不做)。 –
@Scott Chamberlain:谢谢,我编辑了我的问题。这段代码会检查一个文件是否已经存在。我的问题是文件不与目录。 – Saeid