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;
}
}
}
}
效果:
来源:https://blog.csdn.net/funkstill/article/details/88198461


猜你喜欢
- Logback设置property参数更多参数设置查看官方文档1.方式一:直接配置参数值<configuration> 
- 前言idea作为一个java开发的便利IDE工具,个人是比较喜欢的,今天来探索个小功能: 导出单个类文件为jar包!JAR文件的全称是Jav
- 1.概述本文中,我将向你介绍Spring Cloud Netflix Turbine。它将多个Hystrix Metrics Streams
- 一键格式化代碼: Ctrl+Alt+L注意:如果按Ctrl+Shift+F在win10上会出现字体的简繁转换,再重复按键一次就可以转换回来a
- 主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格。在Android SDK中内置了下面的The
- Gradle和Maven都是当前热门的自动化构建工具。使用Gradle去构建项目,由于没有办法像Maven一样配置Setting文件来修改本
- 本文为大家分享了C# 7.0中的解构功能,供大家参考,具体内容如下解构元组C#7.0新增了诸多功能,其中有一项是新元组(ValueTuple
- 概念:有enum关键字修饰的类,成为枚举类1、枚举规则枚举类的对象可以有类里面定义,不支持重新new出来,枚举类有构造函数,其他的类都一样,
- synchronizedsynchronized可以用来同步块,同步方法。同步块可以用来更精确地控制对象锁,控制锁的作用域。(锁
- 在 javax.validation.constraints包中定义了非常多的校验注解,引入依赖:<dependency> &n
- 二进制、八进制和十六进制向十进制转换都是非常容易的,就是“按权相加”。所谓“权”,也即“位权”。例如,十进制第1位的位权为100=1,第2位
- 一.什么是CASCAS(Compare And Swap,比较并交换),通常指的是这样一种原子操作:针对一个变量,首先比较它的内存值与某个期
- 导语关于<resultMap>标签映射,<association>&<collection>的使用什么时候用<resultMap>标签映射1
- 1、定义方法的格式 访问修饰符 返回类型 方法名 (参数列表) { // 方法的主体… }2、静态方法在大多数时候,我们定义写一个方法,会把
- 前言本文主要给大家介绍了关于Java中Unsafe类的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧1.Unsaf
- C#消息提示框messagebox的详解及使用消息对话框是用messagebox对象的show方法显示的。MessageBox对象是命名空间
- 一、先看下项目结构CodeGenerator:生成器主类resources下的mapper.java.vm:一个模板类,用以在生成dao层时
- 正好用到。mark一下背景org.springframework.beans及org.springframework.context这两个包
- @Cacheable在同一类中方法调用无效上述图片中,同一个类中genLiveBullets()方法调用同类中的queryLiveByRoo
- C#时间/日期格式大全,C#时间/日期函数大全有时候我们要对时间进行转换,达到不同的显示效果默认格式为:2005-6-6 14:33:34如