我需要阅读所有符合C:\Workspace\MyProject\MyApp\*\*core.*
路径的文件。怎么做? .NET中是否有任何库来处理这种情况?类似的东西:
string[] allPaths = GetAllPaths("C:\Workspace\MyProject\MyApp\*\*core.*");
var result = new List<string>();
foreach (var path in allPaths)
{
foreach (var line in File.ReadLines(path))
{
result.Add(line);
}
}
return result; // Here we go
怎么做?
答案 0 :(得分:2)
你可以考虑
string[] files = Directory.GetFiles(
@"C:\Workspace\MyProject\MyApp",
"*core.*",
SearchOption.AllDirectories
);
但要注意*/?
- 模式可能带来意想不到的结果。请参阅documentation末尾的备注。
答案 1 :(得分:0)
https://msdn.microsoft.com/en-us/library/ms143316(v=vs.110).aspx
Directory.GetFiles方法的这种重载可能会让你想要的。
public static string[] GetFiles(
string path,
string searchPattern,
SearchOption searchOption
)
searchPattern可以是文字和通配符的组合,但不支持正则表达式。 searchPattern中允许使用以下通配符说明符。
通配符说明符是*(星号),它匹配零个或多个字符(?(问号)匹配零个或一个字符)。
所以你可以使用&#34; C:\ Workspace \ MyProject \ MyApp \&#34;,&#34; * \ * core。*&#34;和SearchOption.AllDirectories。