其他
C#递归读取GIS目录文件格式
记得学习编程时,递归可以说是一种典型的编程思维,一种常见的需求是遍历目录及子目录中的文件。后来工作时发现,其实微软早就帮我们写好了,不用自己老是去写。
var files = Directory.GetFiles(@"D:\", "*.*",SearchOption.AllDirectories); // 遍历所有文件
var dirs= Directory.GetDirectories(@"D:\", "*", SearchOption.AllDirectories); //遍历所有文件夹
参数1:文件路径,要搜索的文件目录。
参数2:过滤格式,不填或"*.*"或"*"表示搜索所有格式;支持通配符号,正则表达式,强大!
参数3:搜索选项,SearchOption.TopDirectoryOnly 默认选项,仅包含当前目录;SearchOption.AllDirectories 包含所有子目录。
public static void GetFiles(this string directory,ref List<string> list,string searchPattern="*.*")
{
if (Directory.Exists(directory))
{
string[] directories = Directory.GetDirectories(directory, searchPattern, SearchOption.TopDirectoryOnly);
string[] files = Directory.GetFiles(directory, searchPattern, SearchOption.TopDirectoryOnly);
list.AddRange(files);
foreach (string item in directories)
{
if (item.ToLower().EndsWith(".gdb"))
{
list.Add(item);
}
else
{
GetFiles(item,ref list);
}
}
}
}
本文作者:我也是个傻瓜
作者博客地址:http://www.cnblogs.com/liweis/
转载于:地信论坛
本文仅限行业学习交流之用,版权、著作权归原载平台及作者所有。我们尊重作者的成果,如涉嫌侵权,请联系我们及时删除。
- END -