c#检测无关文件
本文关键字:文件 检测 | 更新日期: 2023-09-27 18:02:08
我有文件夹这些文件:
- image1.png
- image2.png
- image3.png
- image4.png
- image5.png
我需要检查是否存在多余的文件在这个文件夹中,例如,如果我创建example.file.css我需要给出一个错误,必须只有上面列出的文件。所以我已经创建了所需的文件字符串:
string[] only_these_files = {
"image1.png",
"image2.png",
"image3.png",
"image4.png",
"image5.png"
};
现在我需要搜索无关的文件,但是怎么做呢?谢谢。
使用目录。getfile:https://msdn.microsoft.com/en-us/library/07wt70x2 (v = vs.110) . aspx
并与您的允许文件列表进行比较。
string[] only_these_files = {
"image1.png",
"image2.png",
"image3.png",
"image4.png",
"image5.png"
};
string[] fileEntries = Directory.GetFiles(targetDirectory);
List<String> badFiles = new List<string>();
foreach (string fileName in fileEntries)
if (!only_these_files.Contains(fileName))
{
badFiles.Add(fileName);
}
这将是我使用lil' LINQ的实现
var onlyAllowedFiles = new List<string>
{
"image1.png",
"image2.png",
"image3.png",
"image4.png",
"image5.png"
};
var path = "";
var files = Directory.GetFiles(path);
var nonAllowedFiles = files.Where(f => onlyAllowedFiles.Contains(f) == false);
或者,如果您希望只检测非法文件的存在。
var errorState = files.Any(f => onlyAllowedFiles.Contains(f) == false);