下面的列子是文件的模糊查找,

具体功能是:选定文件夹,搜索所有文件命中包含“_bui”字样的shp图层(后缀为.shp)并将信息显示在ListView中。实际应用中可随便修改。

这里采用递归方法进行深度搜索,浅层的搜索就不再记录。

List<FiledInfo>Listed=new List<FileInfo>();//存储符合要求的文件的FiledInfo

string hz="shp"//文件后缀

private int k=0;

public List<FileInfo>GetAllFiles(string path)

{

if(!Directory.Exists(path)) //判断文件夹是否存在,一般直接选着文件夹不会有问题,这里是应对手动输入的情况

return null;

DirectoryInfo dir=new DirectorInfo(path);

if(k<1)

{

FileInfo[]fi=dir.GetFiles();

for(int i=0;i<fi.Length;i++)

{

string filestr=fi[i].Name;

if((filestr.Congtains(filestr.LastIndexOf(".")+1))==hz)

{

if(filestr.Contains("_bui")||filestr.Contains("_BUI"))

List.Add(fi[i]);

}

}

k++;

}

else

{

List<FileInfo>subList=GetFilesByDir(path);

foreach (FileInfo subFile in subList)
         {
            List.Add(subFile);
         }
      }
         DirectoryInfo[] subDir = dir.GetDirectories();
         string Spath = "";
         foreach (DirectoryInfo d in subDir)
        {
             Spath = path + "\\" + d.ToString() + "\\";
              GetAllFiles(Spath);
         }
         return List;
 }

private List<FileInfo> GetFilesByDir(string path)
{

DirectoryInfo di = new DirectoryInfo(path);
   //找到该目录下的文件
   FileInfo[] fi = di.GetFiles();
   //把FileInfo[]数组转换为List    
   List<FileInfo> list = new List<FileInfo>();

for (int i = 0; i < fi.Length; i++)
    {
      string filestr = fi[i].Name;
      if ((filestr.Substring(filestr.LastIndexOf(".") + 1)) == hz)
       {
           if (filestr.Contains("_bui") || filestr.Contains("_BUI"))
           List.Add(fi[i]);
        }
    }
    return list;
}

C#搜索指定文件夹内的符合要求的文件的更多相关文章

  1. shell脚本编写某一文件夹内拷贝某一段文件(有则跳过没有则拷贝)

    必须是同一台服务器下,或者挂载目录,不同服务器下没办法查询目录中是否有该文件 如果不在同一服务器下,可以把要查询的那个服务器的文件夹设置共享挂在到当前服务器 或者可以把脚本写到要拷贝的服务器上,那么s ...

  2. Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)

    private void SMT(HttpContext context) { string SqlConnection82 = System.Configuration.ConfigurationM ...

  3. PHP递归遍历指定文件夹内的文件

    今天早上在地铁上看了关于文件和文件夹的一章,正好最近刚搞懂linux的文件系统,觉得对文件属性的访问跟Shell命令很像,所以想晚上来实践一下. 发现php的文件夹函数好像没有提供遍历文件夹下的所有文 ...

  4. apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法

    apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法   首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...

  5. java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码

    java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码 作者:Vashon package com.ywx.batchrename; import java.io.File; import ...

  6. 编写Java程序,在一个文件夹内,查找占用磁盘空间最大的 jpg 文件,并输出文件大小

    查看本章节 查看作业目录 需求说明: 在一个文件夹内,查找占用磁盘空间最大的 jpg 文件,并输出文件大小 实现思路: 创建ImageFileFilter类实现FilenameFilter接口,且重写 ...

  7. python对文件夹内文件去重

    昨天无聊写了一个百度图片爬虫,测试了一下搜索"斗图".一下给我下了3000多个图片,关键是有一半以上重复的.what a fuck program ! 好吧,今天写一个文件去重功能 ...

  8. 怎么统计指定文件夹下含有.xml格式的文件数目

    如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...

  9. ftp下载目录下所有文件及文件夹内(递归)

    ftp下载目录下所有文件及文件夹内(递归)   /// <summary> /// ftp文件上传.下载操作类 /// </summary> public class FTPH ...

随机推荐

  1. PHP中的错误处理、异常处理机制详解

    在编写PHP程序时,错误处理是一个重要的部分.如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门 例: <?php $a = fopen('test.txt','r'); / ...

  2. url和urn和uri

    1.需求 理清三者的关系 2.例子 3.说明 url是资源的位置(包含scheme),urn表示资源的名字.url是唯一的.urn不是. 他们2个都是uri的子集 参考资料:https://danie ...

  3. jquery 赋值文本框输入框

    jQuery("#mrId option[value='" + extValue + "']").attr("selected", true ...

  4. CFileDialog(文件夹对话框类)和CFontDialog(字体设置对话框类)的使用学习

    CFileDialog(文件夹对话框类) 主要用于文件的保存,另存,打开,关闭等功能 功能“另存为”的实现: void CTXTDlg::OnFileSaveas() { LPCTSTR szFilt ...

  5. 昨天开发引入的两个错误--Parcelable

    以下的代码有两处明显的错误,一不小心就会写出如下错误的代码,其中第2个问题调试起来很麻烦: 1 public class AddedBannerInfo implements Parcelable { ...

  6. [转] ImageView的android:adjustViewBounds属性

    原文链接:http://blog.csdn.net/pingchuanyang/article/details/9252689   取值为true时: Adjust the ImageView's b ...

  7. vue 中判断页面滑动方向

  8. js 的Location对象

    Location对象 location用于获取或设置窗体的URL,并且可以用于解析URL. 语法: location.[属性|方法] location对象属性图示: location 对象属性: ha ...

  9. 2. iOS程序的生命周期

    程序启动-生命周期 来自:  QQ: 853740091 1.首先讲解UIApplication对象 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个 ...

  10. (转)nginx优化 实现10万并发访问量

    转自http://www.cnblogs.com/pricks/p/3837149.html 一般来说nginx配置文件中对优化比较有作用的为以下几项:worker_processes 8;1 ngi ...