LINQ to Files / Directory - PullRequest
       8

LINQ to Files / Directory

0 голосов
/ 15 апреля 2011

Как найти определенный файл в определенном каталоге с помощью LINQ и вернуть true, если он существует?

Ответы [ 4 ]

11 голосов
/ 15 апреля 2011

Зачем вам использовать LINQ для этого? Это делает то, что вам нужно:

string filePath = Path.Combine(directory, fileName);
return File.Exists(filePath);
4 голосов
/ 15 апреля 2011

Вы можете сделать это так:

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

Но вы можете просто использовать это, если вы уже знаете путь к файлу:

var fileExists = File.Exists("filePath");
3 голосов
/ 15 апреля 2011
var doesExist = new DirectoryInfo(folder).GetFiles(fileName, SearchOption.AllDirectories).Any();
1 голос
/ 15 апреля 2011

Вы также можете рассмотреть FluentPath , если вам нравится такая вещь. Это оболочка Fluent вокруг 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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...