我正在创建一个程序,该程序将从结果目录(原始文件夹)中抓取文件并将这些文件移动到工作目录(另一个文件夹)中。当文件从一个目录移动到另一个目录时,此处文件的名称被更改。在移动它们之前,我需要检查工作目录是否不包含我要移动的文件。由于文件名已更改,因此我需要根据文件内部内容检查文件是否已存在的方法。
假设我有:
FilesRD-(原始文件夹/结果目录中的文件)
FilesWD-(其他文件夹/工作目录中的文件)
这些目录中的文件将如下所示...
之前(在结果Directoy中):
Log_123.csv
之后(在工作目录中):
Log_123_2015_24_6.csv
我会尝试以下功能,它远非完美:
private bool CheckIfFileAlreadyExist(string WorkingDirectory, string FileToCopy)
{
string FileToCheck = File.ReadAllText(FileToCopy);
foreach (string CurrentFile in Directory.GetFiles(WorkingDirectory))
{
if (File.ReadAllText(CurrentFile) == FileToCheck)
return true;
}
return false;
}
更新:
另一种方法是读取ByteArray,这将解决图像问题。但是随着时间的推移,该功能仍然会变慢。
private bool CheckIfFileAlreadyExist(string WorkingDirectory, string FileToCopy)
{
byte[] FileToCheck = File.ReadAllBytes(FileToCopy);
foreach (string CurrentFile in Directory.GetFiles(WorkingDirectory))
{
if (File.ReadAllBytes(CurrentFile) == FileToCheck)
return true;
}
return false;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句