我已经阅读了有关Directory.GetPath搜索模式以及如何使用它的文档,因为我注意到它*.dll找到了test.dll和test.dll_20170206.记录了这种行为
现在,我有一个程序,它根据用户配置的掩码列出文件夹中的文件并处理它们.我注意到面具会像*.txt预期的那样导致上面提到的"问题".
但是,即使文档声明仅发生这种情况,掩码fixedname.txt也会导致fixedname.txt_20170206列表中出现等等
在searchPattern中使用星号通配符时,例如"*.txt"
这是为什么?
PS:我刚检查过:fixednam?.txt即使文档说,更改文件掩码也无济于事
使用问号通配符时,此方法仅返回与指定文件扩展名匹配的文件.例如,给定两个文件"file1.txt"和"file1.txtother",在目录中,"file?.txt"的搜索模式只返回第一个文件,而搜索模式为"file*.txt".返回两个文件.
小智 1
GetFiles 使用模式搜索,它搜索路径中以指定字母结尾的所有名称。
您可以编写类似于下面的代码来仅获取 .txt 扩展名文件
foreach (string strFileName in Directory.GetFiles(@"D:\\test\","*.txt"))
{
string extension;
extension = Path.GetExtension(strFileName);
if (extension != ".txt")
continue;
else
{
//processed the file
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |