1.获取指定文件夹下的指定后缀的文件信息
using Microsoft.IdentityModel.Protocols; using System; using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace Async { public class Program { public static void Main(string[] args) { #region 获取指定文件夹下的指定后缀文件 string strPaths = ConfigurationManager.AppSettings["dirPath"]; List<FileInfo> lstfiles = GetFile(strPaths, ".jpg"); DirectoryInfo info = new DirectoryInfo(strPaths); foreach (var item in lstfiles) { var index = lstfiles.IndexOf(item); Console.WriteLine($"循环第{index}次 - 取到对应的文件信息:{item}"); } Console.ReadKey(); #endregion } #region 获取指定文件夹下的指定后缀文件 /// <summary> /// 获取文件夹下的莫个后缀的所有文件 /// </summary> /// <param name="path">文件路劲</param> /// <param name="ExtName">文件后缀</param> /// <returns></returns> public static List<FileInfo> GetFile(string path, string ExtName) { try { List<FileInfo> lst = new List<FileInfo>(); string[] dir = Directory.GetDirectories(path);// 文件夹列表 DirectoryInfo directoryInfo = new DirectoryInfo(path); FileInfo[] files = directoryInfo.GetFiles(); if (files.Length != 0 || dir.Length != 0) // 当前目录文件或文件夹不能为空 { foreach (FileInfo f in files) { 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; } } #endregion } }