软件编程
位置:首页>> 软件编程>> C#编程>> C#遍历文件夹获取指定后缀名文件

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

作者:cell006  发布时间:2023-01-07 02:07:56 

标签: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;
     }
   }

}
}

效果:

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

来源:https://blog.csdn.net/funkstill/article/details/88198461

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com