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

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

2009-08-31 16:08 176 查看
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;
}

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