我正在尝试维护一个图像数据库,因此当我将新图像添加到特定文件夹时,我的程序应该附加旧图像。另外,我试图通过使用带有以下代码的 string[] filePaths 来删除它们,但它不起作用......
任何人都可以帮助我吗?简单地说,如果根文件夹(TrainedFaces)或子文件夹(/TrainedFaces/eladena/)中存在的文件避免它一次又一次地添加以前的图像......那就是点我卡住了??
例如:- 如果我将 face1、face2、face3 添加到文件夹(/TrainedFaces/eladena/)。一段时间后,我在侧根文件夹 (/TrainedFaces/Linda/) 中创建了另一个名为 Linda 的文件夹,并在 /TrainedFaces/Linda/ 子文件夹中添加了 face4、face5,我只需要 face4、face5 但因为这个 FOR LOOP 它添加了 face1、face2 ,face3 以及 /TrainedFaces/Linda/ 中有重复的 /TrainedFaces/eladena/ face1,face2,face3。我想在不删除循环的情况下避免这个问题,如果有 Lambda/linq 表达式可以做到这一点?
for (int i = 1; i < trainingImages.ToArray().Length + 1; i++)
{
trainingImages.ToArray()[i - 1].Save(Application.StartupPath + "/TrainedFaces/eladena/face" + i + ".bmp");
File.AppendAllText(Application.StartupPath + "/TrainedFaces/TrainedLabels.txt", labels.ToArray()[i - 1] + "%");
}
MessageBox.Show(textBox1.Text + "´s face detected and added :)", "Training OK", MessageBoxButtons.OK, MessageBoxIcon.Information);
string[] filePaths = Directory.GetFiles(Application.StartupPath + "/TrainedFaces/", "*.bmp");
foreach (string filePath in filePaths)
{
if (filePath.Contains(".bmp"))
File.Delete(filePath);
}
{
if (filePath.Contains(".bmp"))
File.Delete(filePath);
}