您的位置:首页 > 编程语言 > C#

C#实现目标路径下文件递归的类

2006-09-21 23:19 507 查看
using System;


using System.IO;


using System.Collections;




namespace DSclub






{




/**//// <summary>


/// DirList 的摘要说明。


/// </summary>


public class DirList






{


private string strInitFilePath;


private bool bFatchAll;




// 构造函数


public DirList()






{


bFatchAll = false;


strInitFilePath = "C://";


}


public DirList(string strFilePath)






{


bFatchAll = false;


strInitFilePath = strFilePath;


}




// 是否递归出所有的文件


public bool RecursionFiles






{


get






{


return bFatchAll;


}


set






{


bFatchAll = value;


}


}




// 取得文件的函数


public ArrayList GetFiles()






{


return GetFiles(strInitFilePath, bFatchAll);


}




public static ArrayList GetFiles(string strPath, bool ResultsAll)






{


ArrayList al = new ArrayList();


// 判断路径是否存在


if(!Directory.Exists(strPath))






{


throw(new ApplicationException("访问的路径" + strPath + "不存在,或者它不是个文件夹。"));


}




string[] temp = Directory.GetFiles(strPath);


foreach(string aFile in temp)






{


al.Add(aFile);


}




// 如果此目录下不存在文件,则把文件夹路径返回,并用///作标识


if(temp.Length == 0)






{


al.Add("///" + strPath);


}




if(ResultsAll)






{


temp = Directory.GetDirectories(strPath);


foreach(string aDir in temp)






{


al.AddRange(GetFiles(aDir, ResultsAll));


}


}




return al;


}




}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: