欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#遍历文件夹获取指定后缀名文件

程序员文章站 2022-06-21 09:42:11
本文实例为大家分享了c#遍历文件夹获取指定后缀名文件的具体代码,供大家参考,具体内容如下 问题描述: 项目需要,要进行某文件夹下所有shp数据的读取 解决方法:...

本文实例为大家分享了c#遍历文件夹获取指定后缀名文件的具体代码,供大家参考,具体内容如下

问题描述:

项目需要,要进行某文件夹下所有shp数据的读取

解决方法:

using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
 
 
namespace learngdal
{
  public partial class form1 : form
  {
    public form1()
    {
      initializecomponent();
    }
     
    
    private void button3_click(object sender, eventargs e)
    {
      list<fileinfo> lst = new list<fileinfo>();
      string strpath = @"e:\work\g1\北京市\北京市";
      list<fileinfo> lstfiles = getfile(strpath, ".shp",lst);
      foreach(fileinfo shpfile in lstfiles)
      {
        label3.text += shpfile.fullname+"\n";
      }
    }
    /// <summary>
    /// 获得目录下所有文件或指定文件类型文件(包含所有子文件夹)
    /// </summary>
    /// <param name="path">文件夹路径</param>
    /// <param name="extname">扩展名可以多个 例如 .mp3.wma.rm</param>
    /// <returns>list<fileinfo></returns>
    public static list<fileinfo> getfile(string path, string extname, list<fileinfo> lst)
    {
      try
      {
        
        string[] dir = directory.getdirectories(path); //文件夹列表  
        directoryinfo fdir = new directoryinfo(path);
        fileinfo[] file = fdir.getfiles();
        //fileinfo[] file = directory.getfiles(path); //文件列表  
        if (file.length != 0 || dir.length != 0) //当前目录文件或文件夹不为空          
        {
          foreach (fileinfo f in file) //显示当前目录所有文件  
          {
            if (extname.tolower().indexof(f.extension.tolower()) >= 0)
            {
              lst.add(f);
            }
          }
          foreach (string d in dir)
          {
            getfile(d, extname,lst);//递归  
          }
        }
        return lst;
      }
      catch (exception ex)
      {
        throw ex;
      }
    }
 
    
  }
}

效果:

C#遍历文件夹获取指定后缀名文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。