Find a file with a certain extension in folder

后端 未结 6 1971
清歌不尽
清歌不尽 2020-11-27 15:10

Given a folder path (like C:\\Random Folder), how can I find a file in it that holds a certain extension, like txt? I assume I\'ll have to do a sea

6条回答
  •  囚心锁ツ
    2020-11-27 15:45

    It's quite easy, actually. You can use the System.IO.Directory class in conjunction with System.IO.Path. Something like (using LINQ makes it even easier):

    var allFilenames = Directory.EnumerateFiles(path).Select(p => Path.GetFileName(p));
    
    // Get all filenames that have a .txt extension, excluding the extension
    var candidates = allFilenames.Where(fn => Path.GetExtension(fn) == ".txt")
                                 .Select(fn => Path.GetFileNameWithoutExtension(fn));
    

    There are many variations on this technique too, of course. Some of the other answers are simpler if your filter is simpler. This one has the advantage of the delayed enumeration (if that matters) and more flexible filtering at the expense of more code.

提交回复
热议问题