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 != || dir.Length != ) //当前目录文件或文件夹不为空
{
foreach (FileInfo f in file) //显示当前目录所有文件
{
if (extName.ToLower().IndexOf(f.Extension.ToLower()) >= )
{
lst.Add(f);
}
}
foreach (string d in dir)
{
getdir(d, extName);//递归
}
}
}
catch (Exception ex)
{
LogHelper.WriteLog(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 != || dir.Length != ) //当前目录文件或文件夹不为空
{
foreach (FileInfo f in file) //显示当前目录所有文件
{
if (extName.ToLower().IndexOf(f.Extension.ToLower()) >= )
{
lst.Add(f);
}
}
foreach (string d in dir)
{
getFile(d, extName);//递归
}
}
return lst;
}
catch (Exception ex)
{
LogHelper.WriteLog(ex);
throw ex;
}
} }

最新文章

  1. 开窗函数 First_Value 和 Last_Value
  2. android之Handler机制
  3. tp框架总结(四)
  4. Duilib扩展《01》— 双击、右键消息扩展
  5. POJ 2136 Vertical Histogram
  6. JavaMail API 1.4.7邮件发送
  7. &quot;git rm&quot; 和 &quot;rm&quot; 的区别
  8. Hello World 老调重谈
  9. 提问!同一ajax请求获取的图片路劲,在谷歌浏览器能正确展示图片,在火狐浏览器则显示路径undefined
  10. java代码块的理解
  11. PHP中使用 fsockopen curl 模拟异步处理
  12. 3.14 unittest之skip
  13. c# 对html字符串进行编码
  14. Python 中常见错误总结
  15. php -- 连接Mysql 数据库
  16. odoo之自动生成编号问题
  17. uchome 缓存生成
  18. UEFI下windows启动过程
  19. mybatis 传参是 list&lt;string&gt; 的注意事项
  20. Sublime Text3下载激活汉化

热门文章

  1. C# 自定义类型通过实现IFormattable接口,来输出指定的格式和语言文化的字符串(例:DateTime)
  2. charles撰写工具/compose和Compose New
  3. 使用Java客户端对Redis进行操作
  4. php -- 显示当前时间
  5. axios跨域post请求后台参数为null
  6. visual studio code 个人设置
  7. Solidity中如何判断mapping中某个键是否为空呢?
  8. 软件架构设计学习总结(18):MVC三层架构在各框架(jsp+servlet + Struts1+ Struts2+ springMVC)中的特征
  9. mysqldump 用法
  10. win 7 64 mysql 5.6.4 安装