给定文件夹路径(如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 次 |
| 最近记录: |