如何使用LINQ在特定目录中查找特定文件,如果存在则返回true?
答案 0 :(得分:11)
为什么要使用LINQ呢?这可以满足您的需求:
string filePath = Path.Combine(directory, fileName);
return File.Exists(filePath);
答案 1 :(得分:4)
你可以这样做:
var fileExists = new DirectoryInfo("directoryPath").GetFiles("filename.ext").Any();
但如果你已经知道文件的路径,你可以使用它:
var fileExists = File.Exists("filePath");
答案 2 :(得分:3)
var doesExist = new DirectoryInfo(folder).GetFiles(fileName, SearchOption.AllDirectories).Any();
答案 3 :(得分:1)
如果您喜欢这样的话,也可以考虑FluentPath。这是一个关于System.IO的Fluent包装,我看了一会儿。以下是该网站的示例:
Path.Get(args.Length != 0 ? args[0] : ".")
.Files(
p => new[] {
".avi", ".m4v", ".wmv",
".mp4", ".dvr-ms", ".mpg", ".mkv"
}.Contains(p.Extension))
.CreateDirectories(
p => p.Parent()
.Combine(p.FileNameWithoutExtension))
.End()
.Move(
p => p.Parent()
.Combine(p.FileNameWithoutExtension)
.Combine(p.FileName));