C# 获取文件夹中所有指定后缀名的文件名称

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace Pdf2ImageProcess
{
    public partial class FileGet
    {
        /// <summary>
        /// 私有变量
        /// </summary>
        private static List<FileInfo> lst = new List<FileInfo>();
        /// <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)
        {
            getdir(path, extName);
            return lst;
        }
        /// <summary>
        /// 私有方法,递归获取指定类型文件,包含子文件夹
        /// </summary>
        /// <param name="path"></param>
        /// <param name="extName"></param>
        private static void getdir(string path, string extName)
        {
            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)
                    {
                        getdir(d, extName);//递归   
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }


    public partial class FileGet1
    {
        /// <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)
        {
            try
            {
                List<FileInfo> lst = new List<FileInfo>();
                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);//递归   
                    }
                }
                return lst;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

    }
}
 

使用实例:

 string strPath = @"E:\工具类\C#\pdf2word\pdf2image\bin\Temp\7be32129-202c-4828-b271-6faf32c91569\Scanned";
  List<FileInfo> lstFiles = FileGet1.getFile(strPath, ".jpg");

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
.NET(发音为“点 内特”)是由微软公司推出的一种软件开发框架。它包括了一系列的工具、类库和语言,可以帮助开发人员创建和运行各种类型的应用程序。 C#(发音为“C sharp”)是一种现代的面向对象的编程语言,是.NET框架的主要语言之一。C#结合了C++和Java的语法特点,提供了更简洁、更安全的编程体验。 使用.NET框架和C#语言,开发人员可以创建各种各样的应用程序,包括Web应用、桌面应用、移动应用和游戏等。它可以在Windows操作系统上运行,并且还可以通过Mono项目在其他平台上运行,如Linux和Mac。 .NET框架提供了许多功能强大的类库,这些类库可以大大简化开发过程。例如,它包括用于数据库访问、图形界面设计、网络编程和安全性等的类库。开发人员可以通过调用这些类库的方法和属性来实现所需的功能,而无需从头开始编写代码。 C#语言具有面向对象的特性,这使得开发人员可以使用类和对象来组织代码,实现封装、继承和多态等概念。这样可以使代码更易读、易维护,并且提高代码的重用性。 总之,.NET框架和C#语言为开发人员提供了强大的工具和语言,使他们能够快速、高效地开发各种类型的应用程序。它们在业界广泛应用,并且有着庞大的开发者社区和资源支持。无论是初学者还是专业开发人员,都可以从受益,并且轻松地构建出优秀的软件应用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值