2011-04-15 34 views
0

如何使用LINQ在特定目錄中查找特定文件,如果存在則返回true?LINQ到文件/目錄

+6

爲什麼你需要用LINQ來做到這一點? – 2011-04-15 07:01:49

回答

3
var doesExist = new DirectoryInfo(folder).GetFiles(fileName, SearchOption.AllDirectories).Any(); 
11

你爲什麼要用LINQ呢?這確實你需要:

string filePath = Path.Combine(directory, fileName); 
return File.Exists(filePath); 
4

你可以這樣說:

var fileExists = new DirectoryInfo("directoryPath").GetFiles("filename.ext").Any(); 

但你可以只使用這個,如果你已經知道該文件的路徑:

var fileExists = File.Exists("filePath"); 
1

如果你喜歡這樣的事情,你也可以考慮FluentPath。這是一個圍繞System.IO的流利封裝,我看了一會兒。這裏是一個來自網站的樣本:

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)); 
+3

哇,現在這是過度殺傷:D – 2011-04-15 07:14:24

+0

我給了這個+1,我希望它的舌頭在臉頰的性質,同時出現也包含正確的信息! – 2011-04-15 07:17:41

相關問題