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

所属分类: 软件编程 / C#教程 阅读数: 123
收藏 0 赞 0 分享

本文实例为大家分享了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# 大小写转换(金额)实例代码

C# 大小写转换(金额)实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

由于在WinForm中Panel不能直接响应鼠标的滚动事件,只好采用捕获窗体的滚动事件。
收藏 0 赞 0 分享

C#访问应用程序配置文件的方法

C#访问应用程序配置文件的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#读写文件的方法汇总

C#读写文件的方法汇总,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#计算代码执行时间的方法

在一些测试工作时我们需要获得高精度的代码执行时间以比较其效率。
收藏 0 赞 0 分享

C# 动画窗体(AnimateWindow)的小例子

C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# zxing二维码写入的实例代码

C# zxing二维码写入的实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

c#判断输入的是不是数字的小例子

c#判断输入的是不是数字的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

c# 深拷贝与浅拷贝的区别分析及实例

浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
收藏 0 赞 0 分享

C#利用com操作excel释放进程的解决方法

最近利用Microsoft.Office.Interop.Excel.Application读取一个excel后,进程中一直存在excel,在网上找了一阵子,其中有几个解决方案
收藏 0 赞 0 分享
查看更多