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

 更新时间:2019年03月21日 09:01:47   作者:cell006  
这篇文章主要为大家详细介绍了C#遍历文件夹获取指定后缀名文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

效果:

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

相关文章

  • Unity实现滑动更换界面效果

    Unity实现滑动更换界面效果

    这篇文章主要为大家详细介绍了Unity实现滑动更换界面效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 使用快捷键在Unity中快速锁定和解锁Inspector右上角的锁功能

    使用快捷键在Unity中快速锁定和解锁Inspector右上角的锁功能

    这篇文章主要为大家介绍了使用快捷键在Unity中快速锁定和解锁Inspector右上角的锁功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • C#删除整个目录及子目录的方法

    C#删除整个目录及子目录的方法

    这篇文章主要介绍了C#删除整个目录及子目录的方法,涉及C#操作目录删除的相关技巧,需要的朋友可以参考下
    2015-04-04
  • C#如何取硬件标志

    C#如何取硬件标志

    C#如何取硬件标志...
    2007-03-03
  • C# Winform实现进度条显示

    C# Winform实现进度条显示

    这篇文章主要为大家详细介绍了C# Winform实现进度条显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • C#中的委托使用

    C#中的委托使用

    委托是C#中新加入的一个类型,可以把它想作一个和Class类似的一种类型,和使用类相似,使用一个委托时,需要两个步骤,首先你要定义一个委托,就像是定义一个类一样;然后,你可以创建一个或多个该委托的实例。
    2016-07-07
  • unity实现场景切换进度条显示

    unity实现场景切换进度条显示

    这篇文章主要为大家详细介绍了unity实现场景切换进度条显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • C#实现ComboBox自动匹配字符

    C#实现ComboBox自动匹配字符

    本文介绍C#如何实现ComboBox自动匹配字符1.采用CustomSource当做提示集合2. 直接使用下拉列表中的项作为匹配的集合,需要了解的朋友可以参考下
    2012-12-12
  • C#实现的二维数组排序算法示例

    C#实现的二维数组排序算法示例

    这篇文章主要介绍了C#实现的二维数组排序算法,涉及C#针对二维数组的遍历、判断、排序等相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • 使用C#实现基于TCP和UDP协议的网络通信程序的基本示例

    使用C#实现基于TCP和UDP协议的网络通信程序的基本示例

    这篇文章主要介绍了使用C#实现基于TCP和UDP协议的网络通信程序的示例,文中分别编写了基本的服务器端和客户端,代码十分简单,需要的朋友可以参考下
    2016-04-04

最新评论