C#遍歷文件夾獲取指定后綴名文件
本文實(shí)例為大家分享了C#遍歷文件夾獲取指定后綴名文件的具體代碼,供大家參考,具體內(nèi)容如下
問(wèn)題描述:
項(xiàng)目需要,要進(jìn)行某文件夾下所有shp數(shù)據(jù)的讀取
解決方法:
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\北京市\(zhòng)北京市";
List<FileInfo> lstFiles = getFile(strPath, ".shp",lst);
foreach(FileInfo shpFile in lstFiles)
{
label3.Text += shpFile.FullName+"\n";
}
}
/// <summary>
/// 獲得目錄下所有文件或指定文件類(lèi)型文件(包含所有子文件夾)
/// </summary>
/// <param name="path">文件夾路徑</param>
/// <param name="extName">擴(kuò)展名可以多個(gè) 例如 .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) //當(dāng)前目錄文件或文件夾不為空
{
foreach (FileInfo f in file) //顯示當(dāng)前目錄所有文件
{
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;
}
}
}
}
效果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#對(duì)文件進(jìn)行批量重命名或者對(duì)某單個(gè)文件進(jìn)行改名的示例代碼
這篇文章主要介紹了C#對(duì)文件進(jìn)行批量重命名或者對(duì)某個(gè)單獨(dú)的文件進(jìn)行改名的實(shí)現(xiàn)方法,文中有相關(guān)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下2024-05-05
C#基于簡(jiǎn)單工廠模式實(shí)現(xiàn)的計(jì)算器功能示例
這篇文章主要介紹了C#基于簡(jiǎn)單工廠模式實(shí)現(xiàn)的計(jì)算器功能,結(jié)合簡(jiǎn)單實(shí)例形式分析了C#使用工廠模式的數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
詳解C#用new和override來(lái)實(shí)現(xiàn)抽象類(lèi)的重寫(xiě)區(qū)別
本篇文章主要介紹了詳解C#用new和override來(lái)實(shí)現(xiàn)抽象類(lèi)的重寫(xiě)區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。2017-02-02
C#實(shí)現(xiàn)上位機(jī)的遠(yuǎn)程監(jiān)控與控制的詳細(xì)步驟
隨著工業(yè)自動(dòng)化、物聯(lián)網(wǎng)以及智能控制系統(tǒng)的普及,遠(yuǎn)程監(jiān)控與控制逐漸成為了許多系統(tǒng)的核心需求,上位機(jī)作為控制與監(jiān)測(cè)系統(tǒng)的核心,常用于接收處理來(lái)自下位機(jī)的數(shù)據(jù)并進(jìn)行控制操作,C#作為一門(mén)高效且功能強(qiáng)大的編程語(yǔ)言,本文將探討如何使用C#實(shí)現(xiàn)上位機(jī)遠(yuǎn)程監(jiān)控與控制2025-01-01
C#獲取變更過(guò)的DataTable記錄的實(shí)現(xiàn)方法
這篇文章主要介紹了C#獲取變更過(guò)的DataTable記錄的實(shí)現(xiàn)方法,對(duì)初學(xué)者很有學(xué)習(xí)借鑒價(jià)值,需要的朋友可以參考下2014-08-08
C#實(shí)現(xiàn)向指定文本文件添加內(nèi)容的方法
這篇文章主要介紹了C#實(shí)現(xiàn)向指定文本文件添加內(nèi)容的方法,涉及C#操作文本文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
C#中數(shù)據(jù)類(lèi)型的轉(zhuǎn)換介紹
大家好,本篇文章主要講的是C#中數(shù)據(jù)類(lèi)型的轉(zhuǎn)換介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2022-01-01

