首页 > 编程 > C# > 正文

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

2020-01-24 00:06:51
字体:
来源:转载
供稿:网友

本文实例为大家分享了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;      }    }       }}

效果:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表