C#遍歷文件夾獲取指定後綴名文件

這篇文章主要爲大家詳細介紹了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;
      }
    }
 
    
  }
}

效果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章