上一篇的博客中,我们讲解了File类的常用操作,今天这篇分享一个完整的类,作用是递归获取某个文件夹中所有文件。直接看代码就行了,也不复杂
using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NS.Core { /// <summary> /// 文件夹操作帮助类 /// </summary> public class DirectoryHelper { private static ArrayList directorysList = new ArrayList(); //存储目录列表数据 private static ArrayList fileList = new ArrayList(); //存储文件路径列表 public static ArrayList DirectorysList { get { return DirectoryHelper.directorysList; } set { DirectoryHelper.directorysList = value; } } public static ArrayList FileList { get { return DirectoryHelper.fileList; } set { DirectoryHelper.fileList = value; } } public static void InitDirectory() { //注:数据需初始化 DirectoryHelper.DirectorysList = new ArrayList(); DirectoryHelper.FileList = new ArrayList(); } public static void GetDirectory(string sourcePath) { //判断源文件夹是否存在 if (Directory.Exists(sourcePath)) { //获取源文件夹中的目录及文件路径,存入字符串 string[] tmp = Directory.GetFileSystemEntries(sourcePath); //循环遍历 for (int i = 0; i < tmp.Length; i++) { //如果是文件则存入FileList if (File.Exists(tmp[i])) { FileList.Add(tmp[i]); } else { //如果是最后一层目录则把其路径存入DirectorysList if ((Directory.GetDirectories(tmp[i])).Length == 0) { DirectorysList.Add(tmp[i]); } } //递归开始....... GetDirectory(tmp[i]); } } } } }
相关阅读
文章评论