给定文件夹路径(如C:\Random Folder
),如何在其中找到包含特定扩展名的文件,例如txt
?我假设我必须*.txt
在目录中进行搜索,但我不确定我应该首先开始这个搜索.
Ant*_*ram 165
看一下System.IO.Directory
类和静态方法GetFiles
.它有一个接受路径和搜索模式的重载.例:
string[] files = System.IO.Directory.GetFiles(path, "*.txt");
Run Code Online (Sandbox Code Playgroud)
sgr*_*usa 28
您可以使用Directory类
Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories)
Run Code Online (Sandbox Code Playgroud)
Gre*_*g D 14
实际上,这很容易.您可以System.IO.Directory
结合使用该类System.IO.Path
.像(使用LINQ使它更容易):
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));
Run Code Online (Sandbox Code Playgroud)
当然,这种技术也有很多变化.如果您的过滤器更简单,其他一些答案会更简单.这个优点是延迟枚举(如果重要)和更灵活的过滤,代价是更多的代码.
归档时间: |
|
查看次数: |
128446 次 |
最近记录: |